Part Number Hot Search : 
PVI5080N PT7874P 431CH SIB456DK 2N6989U ATR06 2SC2793 C3279
Product Description
Full Text Search
 

To Download UPD70F3731 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 Preliminary User's Manual
V850ES/KG2
32-Bit Single-Chip Microcontrollers Hardware
PD70F3731 PD70F3732
Document No. U17703EJ1V0UD00 (1st edition) Date Published November 2005 N CP(K) 2005 Printed in Japan
[MEMO]
2
Preliminary User's Manual U17703EJ1V0UD
NOTES FOR CMOS DEVICES
1 VOLTAGE APPLICATION WAVEFORM AT INPUT PIN Waveform distortion due to input noise or a reflected wave may cause malfunction. If the input of the CMOS device stays in the area between VIL (MAX) and VIH (MIN) due to noise, etc., the device may malfunction. Take care to prevent chattering noise from entering the device when the input level is fixed, and also in the transition period when the input level passes through the area between VIL (MAX) and VIH (MIN). 2 HANDLING OF UNUSED INPUT PINS Unconnected CMOS device inputs can be cause of malfunction. If an input pin is unconnected, it is possible that an internal input level may be generated due to noise, etc., causing malfunction. CMOS devices behave differently than Bipolar or NMOS devices. Input levels of CMOS devices must be fixed high or low by using pull-up or pull-down circuitry. Each unused pin should be connected to VDD or GND via a resistor if there is a possibility that it will be an output pin. All handling related to unused pins must be judged separately for each device and according to related specifications governing the device. 3 PRECAUTION AGAINST ESD A strong electric field, when exposed to a MOS device, can cause destruction of the gate oxide and ultimately degrade the device operation. Steps must be taken to stop generation of static electricity as much as possible, and quickly dissipate it when it has occurred. Environmental control must be adequate. When it is dry, a humidifier should be used. It is recommended to avoid using insulators that easily build up static electricity. Semiconductor devices must be stored and transported in an anti-static container, static shielding bag or conductive material. All test and measurement tools including work benches and floors should be grounded. The operator should be grounded using a wrist strap. Semiconductor devices must not be touched with bare hands. Similar precautions need to be taken for PW boards with mounted semiconductor devices. 4 STATUS BEFORE INITIALIZATION Power-on does not necessarily define the initial status of a MOS device. Immediately after the power source is turned ON, devices with reset functions have not yet been initialized. Hence, power-on does not guarantee output pin levels, I/O settings or contents of registers. A device is not initialized until the reset signal is received. A reset operation must be executed immediately after power-on for devices with reset functions. 5 POWER ON/OFF SEQUENCE In the case of a device that uses different power supplies for the internal operation and external interface, as a rule, switch on the external power supply after switching on the internal power supply. When switching the power supply off, as a rule, switch off the external power supply and then the internal power supply. Use of the reverse power on/off sequences may result in the application of an overvoltage to the internal elements of the device, causing malfunction and degradation of internal elements due to the passage of an abnormal current. The correct power on/off sequence must be judged separately for each device and according to related specifications governing the device. 6 INPUT OF SIGNAL DURING POWER OFF STATE Do not input signals or an I/O pull-up power supply while the device is not powered. The current injection that results from input of such a signal or I/O pull-up power supply may cause malfunction and the abnormal current that passes in the device at this time may cause degradation of internal elements. Input of signals during the power off state must be judged separately for each device and according to related specifications governing the device.
Preliminary User's Manual U17703EJ1V0UD
3
Caution: PD70F3731 and 70F3732 use SuperFlash (R) technology licensed from Silicon Storage Technology, Inc. MINICUBE is a registered trademark of NEC Electronics Corporation in Japan and Germany. EEPROM is a trademark of NEC Electronics Corporation. SuperFlash is a registered trademark of Silicon Storage Technology, Inc. in several countries including the United States and Japan.
* The information contained in this document is being issued in advance of the production cycle for the product. The parameters for the product may change before final production or NEC Electronics Corporation, at its own discretion, may withdraw the product prior to its production. * Not all products and/or types are available in every country. Please check with an NEC Electronics sales representative for availability and additional information. * No part of this document may be copied or reproduced in any form or by any means without the prior written consent of NEC Electronics. NEC Electronics assumes no responsibility for any errors that may appear in this document. * NEC Electronics does not assume any liability for infringement of patents, copyrights or other intellectual property rights of third parties by or arising from the use of NEC Electronics products listed in this document or any other liability arising from the use of such products. No license, express, implied or otherwise, is granted under any patents, copyrights or other intellectual property rights of NEC Electronics or others. * Descriptions of circuits, software and other related information in this document are provided for illustrative purposes in semiconductor product operation and application examples. The incorporation of these circuits, software and information in the design of a customer's equipment shall be done under the full responsibility of the customer. NEC Electronics assumes no responsibility for any losses incurred by customers or third parties arising from the use of these circuits, software and information. * While NEC Electronics endeavors to enhance the quality, reliability and safety of NEC Electronics products, customers agree and acknowledge that the possibility of defects thereof cannot be eliminated entirely. To minimize risks of damage to property or injury (including death) to persons arising from defects in NEC Electronics products, customers must incorporate sufficient safety measures in their design, such as redundancy, fire-containment and anti-failure features. * NEC Electronics products are classified into the following three quality grades: "Standard", "Special" and "Specific". The "Specific" quality grade applies only to NEC Electronics products developed based on a customer-designated "quality assurance program" for a specific application. The recommended applications of an NEC Electronics products depend on its quality grade, as indicated below. Customers must check the quality grade of each NEC Electronics product before using it in a particular application. "Standard": Computers, office equipment, communications equipment, test and measurement equipment, audio and visual equipment, home electronic appliances, machine tools, personal electronic equipment and industrial robots. "Special": Transportation equipment (automobiles, trains, ships, etc.), traffic control systems, anti-disaster systems, anti-crime systems, safety equipment and medical equipment (not specifically designed for life support). "Specific": Aircraft, aerospace equipment, submersible repeaters, nuclear reactor control systems, life support systems and medical equipment for life support, etc. The quality grade of NEC Electronics products is "Standard" unless otherwise expressly specified in NEC Electronics data sheets or data books, etc. If customers wish to use NEC Electronics products in applications not intended by NEC Electronics, they must contact an NEC Electronics sales representative in advance to determine NEC Electronics' willingness to support a given application. (Note) (1) "NEC Electronics" as used in this statement means NEC Electronics Corporation and also includes its majority-owned subsidiaries. (2) "NEC Electronics products" means any product developed or manufactured by or for NEC Electronics (as defined above).
M5D 02. 11-1
4
Preliminary User's Manual U17703EJ1V0UD
Regional Information
Some information contained in this document may vary from country to country. Before using any NEC Electronics product in your application, pIease contact the NEC Electronics office in your country to obtain a list of authorized representatives and distributors. They will verify:
* * * * *
Device availability Ordering information Product release schedule Availability of related technical literature Development environment specifications (for example, specifications for third-party tools and components, host computers, power plugs, AC supply voltages, and so forth) Network requirements
*
In addition, trademarks, registered trademarks, export restrictions, and other legal issues may also vary from country to country. [GLOBAL SUPPORT] http://www.necel.com/en/support/support.html
NEC Electronics America, Inc. (U.S.)
Santa Clara, California Tel: 408-588-6000 800-366-9782
NEC Electronics (Europe) GmbH
Duesseldorf, Germany Tel: 0211-65030
* Sucursal en Espana
NEC Electronics Hong Kong Ltd.
Hong Kong Tel: 2886-9318
NEC Electronics Hong Kong Ltd.
Seoul Branch Seoul, Korea Tel: 02-558-3737
Madrid, Spain Tel: 091-504 27 87
* Succursale Francaise
Velizy-Villacoublay, France Tel: 01-30-67 58 00
* Filiale Italiana
NEC Electronics Shanghai Ltd.
Shanghai, P.R. China Tel: 021-5888-5400
Milano, Italy Tel: 02-66 75 41
* Branch The Netherlands
NEC Electronics Taiwan Ltd.
Taipei, Taiwan Tel: 02-2719-2377
Eindhoven, The Netherlands Tel: 040-265 40 10
* Tyskland Filial
NEC Electronics Singapore Pte. Ltd.
Novena Square, Singapore Tel: 6253-8311
Taeby, Sweden Tel: 08-63 87 200
* United Kingdom Branch
Milton Keynes, UK Tel: 01908-691-133
J05.6
Preliminary User's Manual U17703EJ1V0UD
5
PREFACE
Readers
This manual is intended for users who wish to understand the functions of the V850ES/KG2 and design application systems using the V850ES/KG2.
Purpose
This manual is intended to give users an understanding of the hardware functions of the V850ES/KG2 shown in the Organization below.
Organization
This manual is divided into two parts: Hardware (this manual) and Architecture (V850ES Architecture User's Manual). Hardware * Pin functions * CPU function * On-chip peripheral functions * Flash memory programming * Electrical specifications (target) Architecture * Data types * Register set * Instruction format and instruction set * Interrupts and exceptions * Pipeline operation
How to Read This Manual It is assumed that the readers of this manual have general knowledge in the fields of electrical engineering, logic circuits, and microcontrollers. To find the details of a register where the name is known Refer to APPENDIX B REGISTER INDEX. To understand the details of an instruction function Refer to the V850ES Architecture User's Manual. Register format The name of the bit whose number is in angle brackets (<>) in the figure of the register format of each register is defined as a reserved word in the device file. To understand the overall functions of the V850ES/KG2 Read this manual according to the CONTENTS. To know the electrical specifications of the V850ES/KG2 Refer to CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET). The "yyy bit of the xxx register" is described as the "xxx.yyy bit" in this manual. Note with caution that even if "xxx.yyy" is described as is in a program, however, the compiler/assembler cannot recognize it correctly.
6
Preliminary User's Manual U17703EJ1V0UD
Conventions
Data significance: Memory map address: Note: Caution: Remark: Numeric representation:
Higher digits on the left and lower digits on the right Higher addresses on the top and lower addresses on the bottom Footnote for item marked with Note in the text Information requiring particular attention Supplementary information Binary Decimal Hexadecimal K (kilo): G (giga): ... xxxx or xxxxB ... xxxx ... xxxxH
Active low representation: xxx (overscore over pin or signal name)
Prefix indicating power of 2 (address space, memory capacity): 210 = 1,024 230 = 1,0243 M (mega): 220 = 1,0242
Related Documents
The related documents indicated in this publication may include preliminary versions. However, preliminary versions are not marked as such. Documents related to V850ES/KG2
Document Name V850ES Architecture User's Manual V850ES/KG2 Hardware User's Manual Document No. U15943E This manual
Documents related to development tools (user's manuals)
Document Name CA850 Ver. 3.00 C Compiler Package Operation C Language Assembly Language Link Directives PM+ Ver. 6.00 Project Manager ID850QB Ver. 3.10 Integrated Debugger SM850 Ver. 2.50 System Simulator SM850 Ver. 2.00 or Later System Simulator Operation Operation External Part User Open Interface Specification RX850 Ver. 3.20 or Later Real-Time OS Basics Installation Technical Task Debugger RX850 Pro Ver. 3.20 Real-Time OS Basics Installation Technical Task Debugger AZ850 Ver. 3.30 System Performance Analyzer PG-FP4 Flash Memory Programmer U13430E U17419E U13431E U17420E U13773E U17421E U13772E U17422E U17423E U15260E Document No. U17293E U17291E U17292E U17294E U17178E U17435E U16218E U14873E
Preliminary User's Manual U17703EJ1V0UD
7
CONTENTS
CHAPTER 1 INTRODUCTION..................................................................................................................17 1.1 1.2 1.3 1.4 1.5 1.6 1.7 V850ES/Kx2 Product Lineup ..................................................................................................... 17 Features ...................................................................................................................................... 18 Applications................................................................................................................................ 20 Ordering Information ................................................................................................................. 20 Pin Configuration (Top View).................................................................................................... 21 Function Block Configuration................................................................................................... 24 Overview of Functions............................................................................................................... 28
CHAPTER 2 PIN FUNCTIONS ................................................................................................................29 2.1 2.2 2.3 2.4 List of Pin Functions.................................................................................................................. 29 Pin Status.................................................................................................................................... 37 Pin I/O Circuits and Recommended Connection of Unused Pins......................................... 38 Pin I/O Circuits............................................................................................................................ 40
CHAPTER 3 CPU FUNCTIONS...............................................................................................................42 3.1 3.2 Features ...................................................................................................................................... 42 CPU Register Set........................................................................................................................ 43
3.2.1 3.2.2 Program register set ...................................................................................................................... 44 System register set ........................................................................................................................ 45
3.3 3.4
Operating Modes ........................................................................................................................ 51 Address Space ........................................................................................................................... 52
3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 CPU address space ....................................................................................................................... 52 Wraparound of CPU address space .............................................................................................. 53 Memory map.................................................................................................................................. 54 Areas ............................................................................................................................................. 56 Recommended use of address space ........................................................................................... 60 Peripheral I/O registers .................................................................................................................. 63 Special registers ............................................................................................................................ 74 Cautions......................................................................................................................................... 78
CHAPTER 4 PORT FUNCTIONS ............................................................................................................82 4.1 4.2 4.3 Features ...................................................................................................................................... 82 Basic Port Configuration........................................................................................................... 82 Port Configuration...................................................................................................................... 83
4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 Port 0 ............................................................................................................................................. 89 Port 1 ............................................................................................................................................. 92 Port 3 ............................................................................................................................................. 94 Port 4 ........................................................................................................................................... 100 Port 5 ........................................................................................................................................... 103 Port 7 ........................................................................................................................................... 106 Port 9 ........................................................................................................................................... 107 Port CM........................................................................................................................................ 115
8
Preliminary User's Manual U17703EJ1V0UD
4.3.9
Port CS.........................................................................................................................................117
4.3.10 Port CT .........................................................................................................................................119 4.3.11 Port DH.........................................................................................................................................121 4.3.12 Port DL .........................................................................................................................................123
4.4 4.5 4.6
Block Diagrams ........................................................................................................................ 126 Port Register Setting When Alternate Function Is Used ..................................................... 151 Cautions.................................................................................................................................... 158
4.6.1 4.6.2 Cautions on bit manipulation instruction for port n register (Pn) ...................................................158 Hysteresis characteristics .............................................................................................................159
CHAPTER 5 BUS CONTROL FUNCTION...........................................................................................160 5.1 5.2 Features .................................................................................................................................... 160 Bus Control Pins ...................................................................................................................... 161
5.2.1 5.2.2 Pin status when internal ROM, internal RAM, or on-chip peripheral I/O is accessed ...................162 Pin status in each operation mode ...............................................................................................162 Chip select control function ..........................................................................................................164
5.3 5.4 5.5
Memory Block Function .......................................................................................................... 163
5.3.1
External Bus Interface Mode Control Function .................................................................... 164 Bus Access............................................................................................................................... 165
5.5.1 5.5.2 5.5.3 Number of clocks for access.........................................................................................................165 Bus size setting function ...............................................................................................................165 Access by bus size .......................................................................................................................166 Programmable wait function .........................................................................................................173 External wait function ...................................................................................................................174 Relationship between programmable wait and external wait ........................................................175 Programmable address wait function ...........................................................................................176
5.6
Wait Function ........................................................................................................................... 173
5.6.1 5.6.2 5.6.3 5.6.4
5.7 5.8
Idle State Insertion Function................................................................................................... 177 Bus Hold Function ................................................................................................................... 178
5.8.1 5.8.2 5.8.3 Functional outline .........................................................................................................................178 Bus hold procedure ......................................................................................................................179 Operation in power save mode.....................................................................................................179
5.9 5.10 5.11
Bus Priority............................................................................................................................... 180 Bus Timing................................................................................................................................ 181 Cautions.................................................................................................................................... 187
CHAPTER 6 CLOCK GENERATION FUNCTION ...............................................................................188 6.1 6.2 6.3 6.4 Overview ................................................................................................................................... 188 Configuration............................................................................................................................ 189 Registers................................................................................................................................... 191 Operation .................................................................................................................................. 195
6.4.1 6.4.2 6.4.3 Operation of each clock ................................................................................................................195 Clock output function ....................................................................................................................195 External clock input function .........................................................................................................195 Overview ......................................................................................................................................196 Register ........................................................................................................................................196
6.5
PLL Function ............................................................................................................................ 196
6.5.1 6.5.2
Preliminary User's Manual U17703EJ1V0UD
9
6.5.3
Usage .......................................................................................................................................... 197
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)................................................................. 198 7.1 7.2 7.3 7.4 7.5 Overview ................................................................................................................................... 198 Functions .................................................................................................................................. 198 Configuration............................................................................................................................ 199 Registers ................................................................................................................................... 201 Operation .................................................................................................................................. 212
7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.5.8 Interval timer mode (TP0MD2 to TP0MD0 bits = 000) ................................................................. 213 External event count mode (TP0MD2 to TP0MD0 bits = 001) ..................................................... 223 External trigger pulse output mode (TP0MD2 to TP0MD0 bits = 010) ......................................... 231 One-shot pulse output mode (TP0MD2 to TP0MD0 bits = 011) .................................................. 243 PWM output mode (TP0MD2 to TP0MD0 bits = 100) .................................................................. 250 Free-running timer mode (TP0MD2 to TP0MD0 bits = 101) ........................................................ 259 Pulse width measurement mode (TP0MD2 to TP0MD0 bits = 110)............................................. 276 Timer output operations ............................................................................................................... 282
7.6 7.7
Eliminating Noise on Capture Trigger Input Pin (TIP0a) ...................................................... 283 Cautions .................................................................................................................................... 285
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0 ............................................................................. 286 8.1 8.2 8.3 8.4 Functions .................................................................................................................................. 286 Configuration............................................................................................................................ 287 Registers ................................................................................................................................... 292 Operation .................................................................................................................................. 300
8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.4.6 8.4.7 8.4.8 Interval timer operation ................................................................................................................ 300 Square wave output operation ..................................................................................................... 303 External event counter operation ................................................................................................. 306 Operation in clear & start mode entered by TI0n0 pin valid edge input ....................................... 309 Free-running timer operation ....................................................................................................... 325 PPG output operation .................................................................................................................. 334 One-shot pulse output operation.................................................................................................. 337 Pulse width measurement operation............................................................................................ 342 Rewriting CR0n1 register during TM0n operation........................................................................ 350 Setting LVS0n and LVR0n bits .................................................................................................... 350
8.5
Special Use of TM0n ................................................................................................................ 350
8.5.1 8.5.2
8.6
Cautions .................................................................................................................................... 352
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5 ............................................................................... 359 9.1 9.2 9.3 9.4 Functions .................................................................................................................................. 359 Configuration............................................................................................................................ 360 Registers ................................................................................................................................... 363 Operation .................................................................................................................................. 366
9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 Operation as interval timer........................................................................................................... 366 Operation as external event counter ............................................................................................ 368 Square-wave output operation..................................................................................................... 369 8-bit PWM output operation ......................................................................................................... 371 Operation as interval timer (16 bits) ............................................................................................. 374
Preliminary User's Manual U17703EJ1V0UD
10
9.4.6 9.4.7 9.4.8
Operation as external event counter (16 bits)...............................................................................376 Square-wave output operation (16-bit resolution).........................................................................377 Cautions .......................................................................................................................................378
CHAPTER 10 8-BIT TIMER H ..............................................................................................................379 10.1 10.2 10.3 10.4 Functions .................................................................................................................................. 379 Configuration............................................................................................................................ 379 Registers................................................................................................................................... 382 Operation .................................................................................................................................. 386
10.4.1 Operation as interval timer/square wave output ...........................................................................386 10.4.2 PWM output mode operation ........................................................................................................389 10.4.3 Carrier generator mode operation ................................................................................................395
CHAPTER 11 INTERVAL TIMER, WATCH TIMER ............................................................................402 11.1 Interval Timer BRG .................................................................................................................. 402
11.1.1 Functions ......................................................................................................................................402 11.1.2 Configuration ................................................................................................................................402 11.1.3 Registers ......................................................................................................................................404 11.1.4 Operation......................................................................................................................................406
11.2
Watch Timer.............................................................................................................................. 407
11.2.1 Functions ......................................................................................................................................407 11.2.2 Configuration ................................................................................................................................407 11.2.3 Registers ......................................................................................................................................408 11.2.4 Operation......................................................................................................................................410
11.3
Cautions.................................................................................................................................... 411
CHAPTER 12 WATCHDOG TIMER FUNCTIONS ...............................................................................413 12.1 Watchdog Timer 1.................................................................................................................... 413
12.1.1 Functions ......................................................................................................................................413 12.1.2 Configuration ................................................................................................................................415 12.1.3 Registers ......................................................................................................................................415 12.1.4 Operation......................................................................................................................................417
12.2
Watchdog Timer 2.................................................................................................................... 419
12.2.1 Functions ......................................................................................................................................419 12.2.2 Configuration ................................................................................................................................420 12.2.3 Registers ......................................................................................................................................420 12.2.4 Operation......................................................................................................................................422
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)....................................................................423 13.1 13.2 13.3 13.4 13.5 13.6 13.7 Function .................................................................................................................................... 423 Configuration............................................................................................................................ 424 Registers................................................................................................................................... 425 Operation .................................................................................................................................. 427 Usage ........................................................................................................................................ 428 Cautions.................................................................................................................................... 428 Security Function..................................................................................................................... 429 11
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER ......................................................................................................... 431 14.1 14.2 14.3 14.4 14.5 Overview ................................................................................................................................... 431 Functions .................................................................................................................................. 431 Configuration............................................................................................................................ 432 Registers ................................................................................................................................... 434 Operation .................................................................................................................................. 442
14.5.1 Basic operation ............................................................................................................................ 442 14.5.2 Trigger modes.............................................................................................................................. 443 14.5.3 Operation modes ......................................................................................................................... 444 14.5.4 Power fail detection function ........................................................................................................ 447 14.5.5 Setting method............................................................................................................................. 448
14.6 14.7
Cautions .................................................................................................................................... 449 How to Read A/D Converter Characteristics Table............................................................... 455
CHAPTER 15 D/A CONVERTER ......................................................................................................... 459 15.1 15.2 15.3 15.4 Functions .................................................................................................................................. 459 Configuration............................................................................................................................ 460 Registers ................................................................................................................................... 461 Operation .................................................................................................................................. 462
15.4.1 Operation in normal mode ........................................................................................................... 462 15.4.2 Operation in real-time output mode ............................................................................................. 462 15.4.3 Cautions....................................................................................................................................... 463
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)..................................................... 464 16.1 16.2 16.3 16.4 16.5 16.6 Selecting UART2 or CSI00 Mode ............................................................................................ 464 Features .................................................................................................................................... 465 Configuration............................................................................................................................ 466 Registers ................................................................................................................................... 468 Interrupt Requests ................................................................................................................... 474 Operation .................................................................................................................................. 475
16.6.1 16.6.2 Data format .................................................................................................................................. 475 Transmit operation....................................................................................................................... 476
16.6.3 Continuous transmission operation.............................................................................................. 478 16.6.4 Receive operation........................................................................................................................ 482 16.6.5 Reception error ............................................................................................................................ 483 16.6.6 Parity types and corresponding operation.................................................................................... 485 16.6.7 Receive data noise filter............................................................................................................... 486
16.7
Dedicated Baud Rate Generator n (BRGn) ............................................................................ 487
16.7.1 Baud rate generator n (BRGn) configuration ............................................................................... 487 16.7.2 Serial clock generation................................................................................................................. 488 16.7.3 Baud rate setting example ........................................................................................................... 491 16.7.4 Allowable baud rate range during reception................................................................................. 492 16.7.5 Transfer rate during continuous transmission .............................................................................. 494
16.8
Cautions .................................................................................................................................... 494
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0) ................................................................ 495
12
Preliminary User's Manual U17703EJ1V0UD
17.1 17.2 17.3 17.4
Features .................................................................................................................................... 495 Configuration............................................................................................................................ 496 Registers................................................................................................................................... 499 Operation .................................................................................................................................. 508
17.4.1 Transmission/reception completion interrupt request signal (INTCSI0n)......................................508 17.4.2 Single transfer mode ....................................................................................................................510 17.4.3 Continuous transfer mode ............................................................................................................513
17.5
Output Pins............................................................................................................................... 521
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION.................................................................................522 18.1 18.2 18.3 18.4 Functions .................................................................................................................................. 522 Configuration............................................................................................................................ 523 Registers................................................................................................................................... 525 Operation .................................................................................................................................. 534
18.4.1 3-wire serial I/O mode ..................................................................................................................534 18.4.2 3-wire serial I/O mode with automatic transmit/receive function ...................................................538
CHAPTER 19 I2C BUS...........................................................................................................................554 19.1 19.2 19.3 19.4 19.5 Features .................................................................................................................................... 554 Configuration............................................................................................................................ 557 Registers................................................................................................................................... 559 Functions .................................................................................................................................. 573
19.4.1 Pin configuration...........................................................................................................................573
I2C Bus Definitions and Control Methods.............................................................................. 574
19.5.1 Start condition...............................................................................................................................574 19.5.2 Addresses ....................................................................................................................................575 19.5.3 Transfer direction specification .....................................................................................................576 19.5.4 19.5.6 19.5.7 ACK ..............................................................................................................................................577 Wait state .....................................................................................................................................579 Wait state cancellation method.....................................................................................................581 19.5.5 Stop condition...............................................................................................................................578
19.6
I C Interrupt Request Signals (INTIIC0).................................................................................. 582
19.6.1 Master device operation ...............................................................................................................583 19.6.2 Slave device operation (when receiving slave address data (address match)) ............................586 19.6.3 Slave device operation (when receiving extension code) .............................................................590 19.6.4 Operation without communication ................................................................................................594 19.6.5 Arbitration loss operation (operation as slave after arbitration loss) .............................................595 19.6.6 Operation when arbitration loss occurs (no communication after arbitration loss)........................597
2
19.7 19.8 19.9 19.10 19.11 19.12 19.13
Interrupt Request Signal (INTIIC0) Generation Timing and Wait Control .......................... 604 Address Match Detection Method .......................................................................................... 605 Error Detection ......................................................................................................................... 605 Extension Code ........................................................................................................................ 606 Arbitration................................................................................................................................. 607 Wakeup Function ..................................................................................................................... 608 Communication Reservation .................................................................................................. 609
19.13.1 When communication reservation function is enabled (IICF0.IICRSV0 bit = 0)............................609
Preliminary User's Manual U17703EJ1V0UD
13
19.13.2 When communication reservation function is disabled (IICF0.IICRSV0 bit = 1) .......................... 612
19.14 Cautions .................................................................................................................................... 613 19.15 Communication Operations .................................................................................................... 614
19.15.1 Master operation in single master system.................................................................................... 615 19.15.2 Master operation in multimaster system ...................................................................................... 616 19.15.3 Slave operation............................................................................................................................ 619
19.16 Timing of Data Communication .............................................................................................. 622 CHAPTER 20 DMA FUNCTION (DMA CONTROLLER).................................................................... 629 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 20.10 20.11 20.12 20.13 Features .................................................................................................................................... 629 Configuration............................................................................................................................ 630 Registers ................................................................................................................................... 631 Transfer Targets ....................................................................................................................... 638 Transfer Modes......................................................................................................................... 638 Transfer Types.......................................................................................................................... 639 DMA Channel Priorities ........................................................................................................... 639 Time Related to DMA Transfer................................................................................................ 640 DMA Transfer Start Factors .................................................................................................... 641 DMA Abort Factors................................................................................................................... 642 End of DMA Transfer................................................................................................................ 642 Operation Timing...................................................................................................................... 642 Cautions .................................................................................................................................... 647
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION............................................... 652 21.1 21.2 Overview ................................................................................................................................... 652
21.1.1 Features....................................................................................................................................... 652
Non-Maskable Interrupts ......................................................................................................... 656
21.2.1 Operation ..................................................................................................................................... 659 21.2.2 21.2.3 Restore ........................................................................................................................................ 660 NP flag ......................................................................................................................................... 661
21.3
Maskable Interrupts ................................................................................................................. 662
21.3.1 Operation ..................................................................................................................................... 662 21.3.2 21.3.4 21.3.6 21.3.7 Restore ........................................................................................................................................ 664 Interrupt control register (xxlCn) .................................................................................................. 669 In-service priority register (ISPR)................................................................................................. 673 ID flag .......................................................................................................................................... 674 21.3.3 Priorities of maskable interrupts................................................................................................... 665 21.3.5 Interrupt mask registers 0 to 3 (IMR0 to IMR3)............................................................................ 671
21.3.8 Watchdog timer mode register 1 (WDTM1) ................................................................................. 675
21.4
External Interrupt Request Input Pins (NMI, INTP0 to INTP7).............................................. 676
21.4.1 Noise elimination ......................................................................................................................... 676 21.4.2 Edge detection............................................................................................................................. 678
21.5
Software Exceptions ................................................................................................................ 682
21.5.1 Operation ..................................................................................................................................... 682 21.5.2 21.5.3 Restore ........................................................................................................................................ 683 EP flag ......................................................................................................................................... 684
21.6 14
Exception Trap ......................................................................................................................... 685
Preliminary User's Manual U17703EJ1V0UD
21.6.1 Illegal op code ..............................................................................................................................685 21.6.2 Debug trap....................................................................................................................................687
21.7 21.8 21.9 21.10
Multiple Interrupt Servicing Control ...................................................................................... 689 Interrupt Response Time......................................................................................................... 691 Periods in Which Interrupts Are Not Acknowledged by CPU ............................................. 692 Cautions.................................................................................................................................... 692
CHAPTER 22 KEY INTERRUPT FUNCTION ......................................................................................693 22.1 22.2 Function .................................................................................................................................... 693 Register..................................................................................................................................... 694
CHAPTER 23 STANDBY FUNCTION...................................................................................................695 23.1 23.2 23.3 Overview ................................................................................................................................... 695 Registers................................................................................................................................... 698 HALT Mode ............................................................................................................................... 701
23.3.1 Setting and operation status .........................................................................................................701 23.3.2 Releasing HALT mode .................................................................................................................701
23.4
IDLE Mode................................................................................................................................. 703
23.4.1 Setting and operation status .........................................................................................................703 23.4.2 Releasing IDLE mode...................................................................................................................704
23.5
STOP Mode ............................................................................................................................... 706
23.5.1 Setting and operation status .........................................................................................................706 23.5.2 Releasing STOP mode.................................................................................................................707 23.5.3 Securing oscillation stabilization time when STOP mode is released...........................................709
23.6
Subclock Operation Mode....................................................................................................... 710
23.6.1 Setting and operation status .........................................................................................................710 23.6.2 Releasing subclock operation mode.............................................................................................710
23.7
Sub-IDLE Mode......................................................................................................................... 712
23.7.1 Setting and operation status .........................................................................................................712 23.7.2 Releasing sub-IDLE mode............................................................................................................713
CHAPTER 24 RESET FUNCTION ........................................................................................................715 24.1 24.2 24.3 Overview ................................................................................................................................... 715 Configuration............................................................................................................................ 715 Operation .................................................................................................................................. 716
CHAPTER 25 REGULATOR ..................................................................................................................720 25.1 25.2 Overview ................................................................................................................................... 720 Operation .................................................................................................................................. 720
CHAPTER 26 FLASH MEMORY...........................................................................................................722 26.1 26.2 26.3 26.4 Features .................................................................................................................................... 722 Memory Configuration............................................................................................................. 723 Functional Outline ................................................................................................................... 724 Rewriting by Dedicated Flash Programmer .......................................................................... 726
26.4.1 Programming environment ...........................................................................................................726
Preliminary User's Manual U17703EJ1V0UD
15
26.4.2 Communication mode .................................................................................................................. 727 26.4.3 Flash memory control .................................................................................................................. 734 26.4.4 Selection of communication mode ............................................................................................... 735 26.4.5 Communication commands ......................................................................................................... 736 26.4.6 Pin connection ............................................................................................................................. 737
26.5
Rewriting by Self Programming.............................................................................................. 742
26.5.1 26.5.2 Overview...................................................................................................................................... 742 Features....................................................................................................................................... 743
26.5.3 Standard self programming flow .................................................................................................. 744 26.5.4 Flash functions............................................................................................................................. 745 26.5.5 Pin processing ............................................................................................................................. 745 26.5.6 Internal resources used ............................................................................................................... 746
CHAPTER 27 ON-CHIP DEBUG FUNCTION ..................................................................................... 747 27.1 ROM Security Function ........................................................................................................... 747
27.1.1 27.1.2 Security ID ................................................................................................................................... 747 Setting.......................................................................................................................................... 748
27.2
Cautions .................................................................................................................................... 749
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET).............................................................. 750 CHAPTER 29 PACKAGE DRAWINGS ................................................................................................ 797 APPENDIX A INSTRUCTION SET LIST ............................................................................................. 799 A.1 A.2 Conventions.............................................................................................................................. 799 Instruction Set (in Alphabetical Order) .................................................................................. 802
APPENDIX B REGISTER INDEX ......................................................................................................... 809
16
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 1 INTRODUCTION
1.1 V850ES/Kx2 Product Lineup
Product Name Number of pins Internal memory (KB) Supply voltage Minimum instruction execution time Clock X1 input Subclock Port CMOS input CMOS I/O N-ch open-drain I/O Timer 16-bit (TMP) 16-bit (TM0) 8-bit (TM5) 8-bit (TMH) Interval timer Watch WDT1 WDT2 RTO Serial CSI interface Automatic transmit/ receive 3-wire CSI UART IC External Address space bus Address bus Mode DMA controller 10-bit A/D converter 8-bit D/A converter Interrupt External Internal Key return input Reset RESET pin WDT1 WDT2 Regulator Standby function Operating ambient temperature 9 26 8 ch Provided Provided Provided None TA = -40 to +85C Provided 8 ch - 9 29 8 ch
2
V850ES/KE2 64 pins
V850ES/KF2 80 pins 128 6 256 12
V850ES/KG2 100 pins 128 6 256 16
V850ES/KJ2 144 pins 128 6 256 16
Flash memory RAM
128 4 2.7 to 5.5 V 50 ns @20 MHz 2 to 10 MHz 32.768 kHz 8 41 (4) 2 1 ch 1 ch 2 ch 2 ch 1 ch 1 ch 1 ch 1 ch 6 bits x 1 ch 2 ch - 2 ch 1 ch - - - -
Note
8 57 (6) 2 1 ch 2 ch 2 ch 2 ch 1 ch 1 ch 1 ch 1 ch 6 bits x 1 ch 2 ch 1 ch 2 ch 1 ch 128 KB 16 bits Multiplex only - 8 ch -
Note
8 72 (8) 4 1 ch 4 ch 2 ch 2 ch 1 ch 1 ch 1 ch 1 ch 6 bits x 1 ch 2 ch 2 ch 3 ch 1 ch 3 MB 22 bits Multiplex/separate 4 ch 8 ch 2 ch 9 41 8 ch
Note
16 106 (12) 6 1 ch 6 ch 2 ch 2 ch 1 ch 1 ch 1 ch 1 ch 6 bits x 2 ch 3 ch 2 ch 3 ch 2 ch 15 MB 24 bits
Note
4 ch 16 ch 2 ch 9 47 8 ch
HALT/IDLE/STOP/sub-IDLE mode
Note
Figures in parentheses indicate the number of pins for which the N-ch open-drain output can be selected.
Preliminary User's Manual U17703EJ1V0UD
17
CHAPTER 1 INTRODUCTION
1.2 Features
Minimum instruction execution time: 50 ns (operation at main clock (fXX) = 20 MHz) General-purpose registers: 32 bits x 32 registers CPU features: Signed multiplication (16 x 16 32): 1 to 2 clocks (Instructions without creating register hazards can be continuously executed in parallel) Saturated operations (overflow and underflow detection functions are included) 32-bit shift instruction: 1 clock Bit manipulation instructions Load/store instructions with long/short format Memory space: 64 MB of linear address space Memory block division function: 2 MB, 2 MB (Total of 2 blocks) * Internal memory
PD70F3732 (flash memory: 256 KB/RAM: 16 KB) PD70F3731 (flash memory: 128 KB/RAM: 6 KB)
* External bus interface Separate bus/multiplex bus output selectable 8-/16-bit data bus sizing function Wait function * Programmable wait function * External wait function Idle state function Bus hold function Interrupts and exceptions Non-maskable interrupts: 3 sources Maskable interrupts: Software exceptions: Exception trap: I/O lines: Timer function 16-bit timer/event counter P: 1 channel 16-bit timer/event counter 0: 4 channels 8-bit timer/event counter 5: 8-bit timer H: 8-bit interval timer BRG: Watch timer/interval timer: Watchdog timers Watchdog timer 1 (also usable as oscillation stabilization timer): 1 channel Watchdog timer 2: 1 channel 2 channels 2 channels 1 channel 1 channel Total: 84 Key interrupt function 47 sources 32 sources 1 source
18
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 1 INTRODUCTION
Serial interface Asynchronous serial interface (UART): 3-wire serial I/O (CSI0): I2C bus interface (I2C): A/D converter: 10-bit resolution x 8 channels D/A converter: 8-bit resolution x 2 channels DMA controller: 4 channels Real-time output port: 6 bits x 1 channel Standby functions: HALT/IDLE/STOP modes, subclock/sub-IDLE modes Clock generator Main clock oscillation (fX)/subclock oscillation (fXT) CPU clock (fCPU) 7 steps (fXX, fXX/2, fXX/4, fXX/8, fXX/16, fXX/32, fXT) Clock-through mode/PLL mode selectable Reset * Reset by RESET pin * Reset by overflow of watchdog timer 1 (WDTRES1) * Reset by overflow of watchdog timer 2 (WDTRES2) Package: 100-pin plastic LQFP (fine pitch) (14 x 14) 100-pin plastic QFP (14 x 20) 3 channels 2 channels 1 channel
3-wire serial I/O (with automatic transmit/receive function) (CSIA): 2 channels
Preliminary User's Manual U17703EJ1V0UD
19
CHAPTER 1 INTRODUCTION
1.3 Applications
Home audio, car audio AV equipment PC peripheral devices (keyboards, etc.) Household appliances * Outdoor units of air conditioners * Microwave ovens, rice cookers Industrial devices * Pumps * Vending machines * FA
1.4 Ordering Information
Part Number Package 100-pin plastic LQFP (fine pitch) (14 x 14) 100-pin plastic LQFP (fine pitch) (14 x 14) 100-pin plastic QFP (14 x 20) 100-pin plastic QFP (14 x 20)
PD70F3731GC-8EA-A PD70F3732GC-8EA-A PD70F3731GF-JBT-A PD70F3732GF-JBT-A
Remark
Products with -A at the end of the part number are lead-free products.
20
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 1 INTRODUCTION
1.5 Pin Configuration (Top View)
100-pin plastic LQFP (fine pitch) (14 x 14)
PD70F3731GC-8EA-A PD70F3732GC-8EA-A
P70/ANI0 P71/ANI1 P72/ANI2 P73/ANI3 P74/ANI4 P75/ANI5 P76/ANI6 P77/ANI7 PDH5/A21 PDH4/A20 PDH3/A19 PDH2/A18 PDH1/A17 PDH0/A16 PDL15/AD15 PDL14/AD14 PDL13/AD13 PDL12/AD12 PDL11/AD11 PDL10/AD10 PDL9/AD9 PDL8/AD8 PDL7/AD7 PDL6/AD6 PDL5/AD5/FLMD1
AVREF0 AVSS P10/ANO0 P11/ANO1 AVREF1 P00/TOH0 P01/TOH1 FLMD0Note 1 VDD REGCNote 2 VSS X1 X2 RESET XT1 XT2 P02/NMI P03/INTP0 P04/INTP1 P05/INTP2 P06/INTP3 P40/SI00/RXD2 P41/SO00/TXD2 P42/SCK00 P30/TXD0/TO02
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76
75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51
PDL4/AD4 PDL3/AD3 PDL2/AD2 PDL1/AD1 PDL0/AD0 BVDD BVSS PCT6/ASTB PCT4/RD PCT1/WR1 PCT0/WR0 PCM3/HLDRQ PCM2/HLDAK PCM1/CLKOUT PCM0/WAIT PCS1/CS1 PCS0/CS0 P915/A15/INTP6 P914/A14/INTP5 P913/A13/INTP4 P912/A12/SCKA1 P911/A11/SOA1 P910/A10/SIA1 P99/A9/SCK01 P98/A8/SO01
Notes 1. Connect to VSS in normal operation mode. 2. When using a regulator, connect the REGC pin to VSS via a 10 F capacitor. When not using a regulator, connect the REGC pin directly to VDD. Caution Make EVDD the same potential as VDD. BVDD can be used when VDD = EVDD BVDD.
P31/RXD0/INTP7/TO03 P32/ASCK0/ADTRG/TO01 P33/TI000/TO00/TIP00/TOP00 P34/TI001/TO00/TIP01/TOP01 P35/TI010/TO01 P36 P37 EVSS EVDD P38/SDA0 P39/SCL0 P50/KR0/TI011/RTP00 P51/KR1/TI50/RTP01 P52/KR2/TO50/RTP02 P53/KR3/SIA0/RTP03 P54/KR4/SOA0/RTP04 P55/KR5/SCKA0/RTP05 P90/KR6/A0/TXD1 P91/KR7/A1/RXD1 P92/TI020/A2/TO02 P93/A3/TI021 P94/TI030/A4/TO03 P95/A5/TI031 P96/TI51/A6/TO51 P97/A7/SI01
Preliminary User's Manual U17703EJ1V0UD
21
CHAPTER 1 INTRODUCTION
100-pin plastic QFP (14 x 20)
PD70F3731GF-JBT-A PD70F3732GF-JBT-A
P72/ANI2 P73/ANI3 P74/ANI4 P75/ANI5 P76/ANI6 P77/ANI7 PDH5/A21 PDH4/A20 PDH3/A19 PDH2/A18 PDH1/A17 PDH0/A16 PDL15/AD15 PDL14/AD14 PDL13/AD13 PDL12/AD12 PDL11/AD11 PDL10/AD10 PDL9/AD9 PDL8/AD8 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81
Notes 1. Connect to VSS in normal operation mode. 2. When using a regulator, connect the REGC pin to VSS via a 10 F capacitor. When not using a regulator, connect the REGC pin directly to VDD. Caution Make EVDD the same potential as VDD. BVDD can be used when VDD = EVDD BVDD.
22
Preliminary User's Manual U17703EJ1V0UD
P34/TI001/TO00/TIP01/TOP01 P35/TI010/TO01 P36 P37 EVSS EVDD P38/SDA00 P39/SCL00 P50/KR0/TI011/RTP00 P51/KR1/TI50/RTP01 P52/KR2/TO50/RTP02 P53/KR3/SIA0/RTP03 P54/KR4/SOA0/RTP04 P55/KR5/SCKA0/RTP05 P90/KR6/A0/TXD1 P91/KR7/A1/RXD1 P92/TI020/A2/TO02 P93/A3/TI021 P94/TI030/A4/TO03 P95/A5/TI031
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
P71/ANI1 P70/ANI0 AVREF0 AVSS P10/ANO0 P11/ANO1 AVREF1 P00/TOH0 P01/TOH1 FLMD0Note 1 VDD REGCNote 2 VSS X1 X2 RESET XT1 XT2 P02/NMI P03/INTP0 P04/INTP1 P05/INTP2 P06/INTP3 P40/SI00/RXD2 P41/SO00/TXD2 P42/SCK00 P30/TXD0/TO02 P31/RXD0/INTP7/TO03 P32/ASCK0/ADTRG/TO01 P33/TI000/TO00/TIP00/TOP00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51
PDL7/AD7 PDL6/AD6 PDL5/AD5/FLMD1 PDL4/AD4 PDL3/AD3 PDL2/AD2 PDL1/AD1 PDL0/AD0 BVDD BVSS PCT6/ASTB PCT4/RD PCT1/WR1 PCT0/WR0 PCM3/HLDRQ PCM2/HLDAK PCM1/CLKOUT PCM0/WAIT PCS1/CS1 PCS0/CS0 P915/A15/INTP6 P914/A14/INTP5 P913/A13/INTP4 P912/A12/SCKA1 P911/A11/SOA1 P910/A10/SIA1 P99/A9/SCK01 P98/A8/SO01 P97/A7/SI01 P96/TI51/A6/TO51
CHAPTER 1 INTRODUCTION
Pin identification A0 to A21: AD0 to AD15: ADTRG: ANI0 to ANI7: ANO0, ANO1: ASCK0: ASTB: AVREF0, AVREF1: AVSS: BVDD: BVSS: CLKOUT: CS0, CS1: EVDD: EVSS: FLMD0, FLMD1 HLDAK: HLDRQ: INTP0 to INTP7: KR0 to KR7: NMI: P00 to P06: P10, P11: P30 to P39: P40 to P42: P50 to P55: P70 to P77: P90 to P915: PCM0 to PCM3: PCS0, PCS1: PCT0, PCT1 PCT4, PCT6: PDH0 to PDH5: Port CT Port DH Address bus Address/data bus A/D trigger input Analog input Analog output Asynchronous serial clock Address strobe Analog reference voltage Ground for analog Power supply for bus interface Ground for bus interface Clock output Chip select Power supply for port Ground for port Flash programming mode Hold acknowledge Hold request External interrupt input Key return Non-maskable interrupt request Port 0 Port 1 Port 3 Port 4 Port 5 Port 7 Port 9 Port CM Port CS PDL0 to PDL15: RD: REGC: RESET: RTP00 to RTP05: RXD0 to RXD2: SCK00, SCK01, SCKA0, SCKA1: SCL0: SDA0: SI00, SI01, SIA0, SIA1: SO00, SO01, SOA0, SOA1: TI000, TI001, TI010, TI011, TI020, TI021, TI030, TI031, TI50, TI51, TIP00, TIP01: TO00 to TO03, TO50, TO51, TOH0, TOH1, TOP00, TOP01: TXD0 to TXD2: VDD: VSS: WAIT: WR0: WR1: X1, X2: XT1, XT2: Timer output Transmit data Power supply Ground Wait Lower byte write strobe Upper byte write strobe Crystal for main clock Crystal for subclock Timer input Serial output Serial input Serial clock Serial clock Serial data Port DL Read strobe Regulator control Reset Real-time output port Receive data
Preliminary User's Manual U17703EJ1V0UD
23
CHAPTER 1 INTRODUCTION
1.6 Function Block Configuration
(1) Internal block diagram
NMI INTP0 to INTP7 TI000, TI001, TI010, TI011, TI020, TI021, TI030, TI031 TO00 to TO03
ROM INTC Note 1 16-bit timer/event counter 0: 4 ch PC 32-bit barrel shifter System registers
General-purpose registers 32 bits x 32
CPU Instruction queue Multiplier 16 x 16 32 BCU ALU HLDRQ HLDAK ASTB RD WAIT WR0, WR1 CS0, CS1 A0 to A21 AD0 to AD15
RAM Note 2
TIP00, TIP01 TOP00, TOP01
16-bit timer/ event counter P: 1 ch
DMAC
TI50, TI51 TO50, TO51
8-bit timer/event counter 5: 2 ch
TOH0, TOH1
8-bit timer H: 2 ch
CLKOUT SO00, SO01 SI00, SI01 SCK00, SCK01 SOA0, SOA1 SIA0, SIA1 SCKA0, SCKA1 SDA0 SCL0 TXD0 to TXD2 RXD0 to RXD2 ASCK0 Port CSI0: 2 ch
PDL0 to PDL15 PDH0 to PDH5 PCT0, PCT1, PCT4, PCT6 PCS0, PCS1 PCM0 to PCM3 P90 to P915 P70 to P77 P50 to P55 P40 to P42 P30 to P39 P10, P11 P00 to P06
D/A converter
A/D converter CG
X1 X2 XT1 XT2 RESET VDD Regulator VSS REGC
CSIA: 2 ch
I2C: 1 ch
ANO0, ANO1 AVREF1
AVREF0 AVSS ANI0 to ANI7 ADTRG
BVDD UART: 3 ch BVSS EVDD EVSS Watchdog timer: 2 ch Key interrupt function Watch timer KR0 to KR7 FLMD0, FLMD1 VSS
RTP00 to RTP05
RTO: 1 ch
Notes 1. PD70F3732:
256 KB (flash memory) 128 KB (flash memory) 16 KB 6 KB
PD70F3731: 2. PD70F3732: PD70F3731:
24
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 1 INTRODUCTION
(2) Internal units (a) CPU The CPU uses five-stage pipeline control to enable single-clock execution of address calculations, arithmetic logic operations, data transfers, and almost all other types of instruction processing. Other dedicated on-chip hardware, such as a multiplier (16 bits x 16 bits 32 bits) and a barrel shifter (32 bits) help accelerate complex processing. (b) Bus control unit (BCU) The BCU starts a required external bus cycle based on the physical address obtained by the CPU. When an instruction is fetched from external memory area and the CPU does not send a bus cycle start request, the BCU generates a prefetch address and prefetches the instruction code. The prefetched instruction code is stored in an internal instruction queue. (c) ROM This consists of a 256 KB or 128 KB flash memory mapped to the address spaces from 0000000H to 003FFFFH or 0000000H to 001FFFFH, respectively. ROM can be accessed by the CPU in one clock cycle during instruction fetch. (d) RAM This consists of a 16 KB or 6 KB RAM mapped to the address spaces from 3FFB000H to 3FFEFFFH or 3FFD800H to 3FFEFFFH. RAM can be accessed by the CPU in one clock cycle during data access. (e) Interrupt controller (INTC) This controller handles hardware interrupt requests (NMI, INTP0 to INTP7) from on-chip peripheral hardware and external hardware. Eight levels of interrupt priorities can be specified for these interrupt requests, and multiplexed servicing control can be performed. (f) Clock generator (CG) A main clock oscillator and subclock oscillator are provided and generate the main clock oscillation frequency (fX) and subclock frequency (fXT), respectively. There are two modes: In the clock-through mode, fX is used as the main clock frequency (fXX) as is. In the PLL mode, fX is used multiplied by 4. The CPU clock frequency (fCPU) can be selected from among fXX, fXX/2, fXX/4, fXX/8, fXX/16, fXX/32, and fXT. (g) Timer/counter Four 16-bit timer/event counter 0 channels, one 16-bit timer/event counter P channel, and two 8-bit timer/event counter 5 channels are incorporated, enabling measurement of pulse intervals and frequency as well as programmable pulse output. Two 8-bit timer/event counter 5 channels can be connected in cascade to configure a 16-bit timer. Two 8-bit timer H channels enabling programmable pulse output are provided on chip.
Preliminary User's Manual U17703EJ1V0UD
25
CHAPTER 1 INTRODUCTION
(h) Watch timer This timer counts the reference time (0.5 seconds) for counting the clock from the subclock (32.768 kHz) or fBRG (32.768 kHz) from the clock generator. At the same time, the watch timer can be used as an interval timer. (i) Watchdog timer Two watchdog timer channels are provided on chip to detect program loops and system abnormalities. Watchdog timer 1 can be used as an interval timer. When used as a watchdog timer, it generates a nonmaskable interrupt request signal (INTWDT1) or system reset signal (WDTRES1) after an overflow occurs. When used as an interval timer, it generates a maskable interrupt request signal (INTWDTM1) after an overflow occurs. Watchdog timer 2 operates by default following reset release. It generates a non-maskable interrupt request signal (INTWDT2) or system reset signal (WDTRES2) after an overflow occurs. (j) Serial interface (SIO) The V850ES/KG2 includes four kinds of serial interfaces: an asynchronous serial interface (UARTn), a clocked serial interface (CSI0m), a clocked serial interface with an automatic transmit/receive function (CSIAm), and an I2C bus interface (I2C0), and can simultaneously use up to seven channels. For UARTn, data is transferred via the TXDn and RXDn pins. For CSI0m, data is transferred via the SO0m, SI0m, and SCK0m pins. For CSIAm, data is transferred via the SOAm, SIAm, and SCKAm pins. For I2C0, data is transferred via the SDA0 and SCL0 pins. Remark n = 0 to 2 m = 0, 1 (k) A/D converter This high-speed, high-resolution 10-bit A/D converter includes 8 analog input pins. performed using the successive approximation method. (l) D/A converter Two 8-bit resolution D/A converter channels are included on chip. The D/A converter uses the R-2R ladder method. (m) DMA controller A 4-channel DMA controller is provided on chip. This controller transfers data between the internal RAM, on-chip peripheral I/O devices, and external memory in response to interrupt requests sent by on-chip peripheral I/O. (n) Key interrupt function A key interrupt request signal (INTKR) can be generated by inputting a falling edge to the eight key input pins. Conversion is
26
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 1 INTRODUCTION
(o) Real-time output function This function transfers 6-bit data set beforehand to output latches upon occurrence of a timer compare register match signal. A 1-channel 6-bit data real-time output function is provided on chip. (p) Ports As shown below, the following ports have general-purpose port functions and control pin functions.
Port P0 P1 P3 P4 P5 P7 P9 PCM PCS PCT PDH PDL I/O 7-bit I/O 2-bit I/O 10-bit I/O 3-bit I/O 6-bit I/O 8-bit input 16-bit I/O 4-bit I/O 2-bit I/O 4-bit I/O 6-bit I/O 16-bit I/O Alternate Function NMI, external interrupt, timer output D/A converter analog output Serial interface, timer I/O, external interrupt, A/D converter trigger Serial interface Serial interface, timer I/O, key interrupt function, real-time output function A/D converter analog input External address bus, serial interface, timer I/O, external interrupt, key interrupt function External bus control signal Chip select output External bus control signal External address bus External address/data bus
Preliminary User's Manual U17703EJ1V0UD
27
CHAPTER 1 INTRODUCTION
1.7 Overview of Functions
Part Number Internal memory ROM High-speed RAM Buffer RAM Memory space Logical space External memory area
PD70F3732
256 KB (single-power flash memory) 16 KB 64 bytes 64 MB 3 MB Address bus: 22 bits Data bus: 8/16 bits Multiplex bus mode/separate bus mode 32 bits x 32 registers Ceramic/crystal/external clock When PLL not used: 2 to 10 MHz (2.7 to 5.5 V) When PLL used
PD70F3731
128 KB (single-power flash memory) 6 KB
External bus interface
General-purpose registers Main clock (oscillation frequency)
REGC pin connected directly to VDD: 2 to 5 MHz (4.5 to 5.5 V), 2 MHz (2.7 to 5.5 V) 10 F capacitor connected to REGC pin: 2 MHz (4.0 to 5.5 V) Crystal/external clock (32.768 kHz) 50 ns (When main clock operated at (fXX) = 20 MHz) 32 x 32 = 64: 200 to 250 ns (at 20 MHz) 32 x 32 + 32 = 32: 300 ns (at 20 MHz) 16 x 16 = 32: 50 to 100 ns (at 20 MHz) 16 x 16 + 32 = 32: 150 ns (at 20 MHz)
Subclock (oscillation frequency) Minimum instruction execution time DSP function
I/O ports
84 * Input: 8 * I/O: 76 (among these, N-ch open-drain output selectable: 8, fixed to N-ch open-drain output: 4) 16-bit timer/event counter P: 1 channel 16-bit timer/event counter 0: 4 channels 8-bit timer/event counter 5: 2 channels (16-bit timer/event counter: usable as 1 channel) 8-bit timer H: 2 channels Watchdog timer: 2 channels Watch timer: 1 channel 8-bit interval timer: 1 channel 4 bits x 1, 2 bits x 1, or 6 bits x 1 10-bit resolution x 8 channels 8-bit resolution x 2 channels CSI: 1 channel CSI/UART: 1 channel CSIA (with automatic transmit/receive function): 2 channels UART: 2 channels I2C bus: 1 channel Dedicated baud rate generator: 3 channels External: 9 (9)Note , internal: 41 STOP/IDLE/HALT/sub-IDLE mode 4.5 to 5.5 V (at 20 MHz)/2.7 to 5.5 V (at 10 MHz) 100-pin plastic LQFP (fine pitch) (14 x 14 mm) 100-pin plastic QFP (14 x 20 mm)
Timer
Real-time output port A/D converter D/A converter Serial interface
Interrupt sources Power save function Operating supply voltage Package
Note The figure in parentheses indicates the number of external interrupts that can release STOP mode.
28
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 2 PIN FUNCTIONS
The names and functions of the pins of the V850ES/KG2 are described below, divided into port pins and non-port pins. The pin I/O buffer power supplies are divided into three systems; AVREF0/AVREF1, BVDD, and EVDD. The relationship between these power supplies and the pins is shown below. Table 2-1. Pin I/O Buffer Power Supplies
Power Supply AVREF0 AVREF1 BVDD EVDD Port 7 Port 1 Ports CM, CS, CT, DH, DL RESET, ports 0, 3 to 5, 9 Corresponding Pins
2.1 List of Pin Functions
(1) Port pins (1/3)
Pin Name Pin No. GC P00 P01 P02 P03 P04 P05 P06 P10 P11 P30 P31 P32 P33 P34 P35 P36 P37 P38 P39 6 7 17 18 19 20 21 3 4 25 26 27 28 29 30 31 32 35 36 8 9 19 20 21 22 23 5 6 27 28 29 30 31 32 33 34 37 38 SDA0 SCL0 No I/O Yes I/O Yes Port 1 I/O port Input/output can be specified in 1-bit units. Port 3 I/O port Input/output can be specified in 1-bit units. P36 to P39 are fixed to N-ch open-drain output. ANO1 TXD0/TO02 RXD0/INTP7/TO03 ASCK0/ADTRG/TO01 TI000/TO00/TIP00/TOP00 TI001/TO00/TIP01/TOP01 TI010/TO01 - - GF I/O I/O Pull-up Resistor Yes Port 0 I/O port Input/output can be specified in 1-bit units. TOH0 TOH1 NMI INTP0 INTP1 INTP2 INTP3 ANO0 Function Alternate Function
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
Preliminary User's Manual U17703EJ1V0UD
29
CHAPTER 2 PIN FUNCTIONS
(2/3)
Pin Name Pin No. GC P40 P41 P42 22 23 24 GF 24 25 26 I/O I/O Pull-up Resistor Yes Port 4 I/O port Input/output can be specified in 1-bit units. P41 and P42 can be specified as N-ch opendrain output in 1-bit units. P50 P51 P52 P53 P54 P55 P70 P71 P72 P73 P74 P75 P76 P77 P90 P91 P92 P93 P94 P95 P96 P97 P98 P99 P910 P911 P912 P913 P914 P915 37 38 39 40 41 42 100 99 98 97 96 95 94 93 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 39 40 41 42 43 44 2 1 100 99 98 97 96 95 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 I/O Yes Port 9 I/O port Input/output can be specified in 1-bit units. P98, P99, P911, and P912 can be specified as N-ch open-drain output in 1-bit units. Input No Port 7 Input port I/O Yes Port 5 I/O port Input/output can be specified in 1-bit units. P54 and P55 can be specified as N-ch opendrain output in 1-bit units. TI011/RTP00/KR0 TI50/RTP01/KR1 TO50/RTP02/KR2 SIA0/RTP03/KR3 SOA0/RTP04/KR4 SCKA0/RTP05/KR5 ANI0 ANI1 ANI2 ANI3 ANI4 ANI5 ANI6 ANI7 A0/TXD1/KR6 A1/RXD1/KR7 A2/TI020/TO02 A3/TI021 A4/TI030/TO03 A5/TI031 A6/TI51/TO51 A7/SI01 A8/SO01 A9/SCK01 A10/SIA1 A11/SOA1 A12/SCKA1 A13/INTP4 A14/INTP5 A15/INTP6 SI00/RXD2 SO00/TXD2 SCK00 Function Alternate Function
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
30
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 2 PIN FUNCTIONS
(3/3)
Pin Name Pin No. GC PCM0 PCM1 PCM2 PCM3 PCS0 PCS1 PCT0 PCT1 PCT4 PCT6 PDH0 PDH1 PDH2 PDH3 PDH4 PDH5 PDL0 PDL1 PDL2 PDL3 PDL4 PDL5 PDL6 PDL7 PDL8 PDL9 PDL10 PDL11 PDL12 PDL13 PDL14 PDL15 61 62 63 64 59 60 65 66 67 68 87 88 89 90 91 92 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 GF 63 64 65 66 61 62 67 68 69 70 89 90 91 92 93 94 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 I/O Yes Port DL I/O port Input/output can be specified in 1-bit units. I/O Yes Port DH I/O port Input/output can be specified in 1-bit units. I/O Yes I/O Yes Port CS I/O port Input/output can be specified in 1-bit units. Port CT I/O port Input/output can be specified in 1-bit units. I/O I/O Pull-up Resistor Yes Function Alternate Function
Port CM I/O port Input/output can be specified in 1-bit units.
WAIT CLKOUT HLDAK HLDRQ CS0 CS1 WR0 WR1 RD ASTB A16 A17 A18 A19 A20 A21 AD0 AD1 AD2 AD3 AD4 AD5/FLMD1 AD6 AD7 AD8 AD9 AD10 AD11 AD12 AD13 AD14 AD15
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
Preliminary User's Manual U17703EJ1V0UD
31
CHAPTER 2 PIN FUNCTIONS
(2) Non-port pins (1/5)
Pin Name Pin No. GC A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD8 AD9 AD10 AD11 AD12 AD13 AD14 AD15 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 87 88 89 90 91 92 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 GF 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 89 90 91 92 93 94 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 I/O Yes Address/data bus for external memory Output Yes Address bus for external memory Output I/O Pull-up Resistor Yes Function Alternate Function
Address bus for external memory (when using a separate bus)
P90/TXD1/KR6 P91/RXD1/KR7 P92/TI020/TO02 P93/TI021 P94/TI030/TO03 P95/TI031 P96/TI51/TO51 P97/SI01 P98/SO01 P99/SCK01 P910/SIA1 P911/SOA1 P912/SCKA1 P913/INTP4 P914/INTP5 P915/INTP6 PDH0 PDH1 PDH2 PDH3 PDH4 PDH5 PDL0 PDL1 PDL2 PDL3 PDL4 PDL5/FLMD1 PDL6 PDL7 PDL8 PDL9 PDL10 PDL11 PDL12 PDL13 PDL14 PDL15
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
32
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 2 PIN FUNCTIONS
(2/5)
Pin Name Pin No. GC ADTRG ANI0 ANI1 ANI2 ANI3 ANI4 ANI5 ANI6 ANI7 ANO0 ANO1 ASCK0 ASTB AVREF0 27 100 99 98 97 96 95 94 93 3 4 27 68 1 GF 29 2 1 100 99 98 97 96 95 5 6 29 70 3 Input Output - Yes Yes - UART0 serial clock input Address strobe signal output for external memory Reference voltage for A/D converter and positive power supply for alternate-function ports Reference voltage for D/A converter and positive power supply for alternate-function ports Ground potential for A/D and D/A converters and alternate-function ports Positive power supply for bus interface and alternate-function ports Ground potential for bus interface and alternate-function ports Internal system clock output Chip select output PCM1 PCS0 PCS1 - - Input No Yes Output Input Yes Yes Bus hold acknowledge output Bus hold request input - - Positive power supply for external Ground potential for external Flash programming mode setting pin PDL5/AD5 PCM2 PCM3 - - - Output Yes Analog voltage output for D/A converter Input Input I/O Pull-up Resistor Yes No Function Alternate Function
A/D converter external trigger input Analog voltage input for A/D converter
P32/ASCK0/TO01 P70 P71 P72 P73 P74 P75 P76 P77 P10 P11 P32/ADTRG/TO01 PCT6 -
AVREF1
5
7
-
-
-
AVSS BVDD BVSS CLKOUT CS0 CS1 EVDD EVSS FLMD0 FLMD1 HLDAK HLDRQ
2 70 69 62 59 60 34 33 8 76 63 64
4 72 73 64 61 62 36 35 10 78 65 66
- - - Output Output Yes Yes
- - -
- - -
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
Preliminary User's Manual U17703EJ1V0UD
33
CHAPTER 2 PIN FUNCTIONS
(3/5)
Pin Name Pin No. GC INTP0 INTP1 INTP2 INTP3 INTP4 INTP5 INTP6 INTP7 KR0 KR1 KR2 KR3 KR4 KR5 KR6 KR7 NMI RD REGC RESET RTP00 RTP01 RTP02 RTP03 RTP04 RTP05 RXD0 RXD1 RXD2 SCK00 SCK01 SCKA0 SCKA1 18 19 20 21 56 57 58 26 37 38 39 40 41 42 43 44 17 67 10 14 37 38 39 40 41 42 26 44 22 24 52 42 55 GF 20 21 22 23 58 59 60 28 39 40 41 42 43 44 45 46 19 69 12 16 39 40 41 42 43 44 28 46 25 26 54 44 57 I/O Yes Input Yes Serial receive data input for UART0 Serial receive data input for UART1 Serial receive data input for UART2 Serial clock I/O for CSI00, CSI01, CSIA0, CSIA1 N-ch open-drain output can be specified in 1bit units. Input Output - Input Output Yes Yes Yes - - External interrupt input (non-maskable, analog noise elimination) Read strobe signal output for external memory Connecting capacitor for regulator output stabilization System reset input Real-time output port Input Yes Key return input External interrupt request input (maskable, digital + analog noise elimination) External interrupt request input (maskable, analog noise elimination) Input I/O Pull-up Resistor Yes Function Alternate Function
External interrupt request input (maskable, analog noise elimination)
P03 P04 P05 P06 P913/A13 P914/A14 P915/A15 P31/RXD0/TO03 P50/TI011/RTP00 P51/TI50/RTP01 P52/TO50/RTP02 P53/SIA0/RTP03 P54/SOA0/RTP04 P55/SCKA0/RTP05 P90/A0/TXD1 P91/A1/RXD1 P02 PCT4 - - P50/TI011/KR0 P51/TI50/KR1 P52/TO50/KR2 P53/SIA0/KR3 P54/SOA0/KR4 P55/SCKA0/KR5 P31/INTP7/TO03 P91/A1/KR7 P40/SI00 P42 P99/A9 P55/RTP05/KR5 P912/A12
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
34
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 2 PIN FUNCTIONS
(4/5)
Pin Name Pin No. GC SCL0 36 GF 38 I/O I/O Pull-up Resistor No Serial clock I/O for I C0 Fixed to N-ch open-drain output SDA0 35 37 I/O No Serial transmit/receive data I/O for I C0 Fixed to N-ch open-drain output SI00 SI01 SIA0 SIA1 SO00 SO01 SOA0 SOA1 TI000 TI001 TI010 TI011 TI020 TI021 TI030 TI031 TI50 TI51 TIP00 22 50 40 53 23 51 41 54 28 29 30 37 45 46 47 48 38 49 28 24 52 42 55 25 53 43 56 30 31 32 39 47 48 49 50 40 51 30 Input Yes Output Yes Input Yes Serial receive data input for CSI00 Serial receive data input for CSI01 Serial receive data input for CSIA0 Serial receive data input for CSIA1 Serial transmit data output for CSI00, CSI01, CSIA0, CSIA1 N-ch open-drain output can be specified in 1bit units. P40/RXD2 P97/A7 P53/RTP03/KR3 P910/A10 P41/TXD2 P98/A8 P54/RTP04/KR4 P911/A11 Capture trigger input/external event input for TM00 P33/TO00/TIP00/TOP00 Capture trigger input for TM00 P34/TO00/TIP01/TOP01
2 2
Function
Alternate Function
P39
P38
Capture trigger input/external event input for TM01 P35/TO01 Capture trigger input for TM01 P50/RTP00/KR0
Capture trigger input/external event input for TM02 P92/A2/TO02 Capture trigger input for TM02 P93/A3
Capture trigger input/external event input for TM03 P94/A4/TO03 Capture trigger input for TM03 External event input for TM50 External event input for TM51 Capture trigger input/external event input for TMP0 P95/A5 P51/RTP01/KR1 P96/A6/TO51 P33/TI000/TO00/TOP00
TIP01
29
31
Capture trigger input for TMP0
P34/TI001/TO00/TOP01
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
Preliminary User's Manual U17703EJ1V0UD
35
CHAPTER 2 PIN FUNCTIONS
(5/5)
Pin Name Pin No. GC TO00 28 29 TO01 27 30 TO02 25 45 TO03 26 47 TO50 TO51 TOH0 TOH1 TOP00 TOP01 TXD0 TXD1 TXD2 VDD VSS WAIT WR0 WR1 X1 X2 XT1 XT2 39 49 6 7 28 29 25 43 23 9 11 61 65 66 12 13 15 16 GF 30 31 29 32 27 47 28 49 41 51 8 9 30 31 27 45 25 11 13 63 67 68 14 15 17 18 Input - Input - No No No No Connecting resonator for subclock - - Input Output Yes Yes - - Output Yes Serial transmit data output for UART0 Serial transmit data output for UART1 Serial transmit data output for UART2 Positive power supply pin for internal Ground potential for internal External wait input Write strobe for external memory (lower 8 bits) Write strobe for external memory (higher 8 bits) Connecting resonator for main clock PCM0 PCT0 PCT1 - - - - Timer output for TM50 Timer output for TM51 Timer output for TMH0 Timer output for TMH1 Timer output for TMP0 Timer output for TM03 Timer output for TM02 Timer output for TM01 Output I/O Pull-up Resistor Yes Timer output for TM00 P33/TI000/TIP00/TOP00 P34/TI001/TIP01/TOP01 P32/ASCK0/ADTRG P35/TI010 P30/TXD0 P92/A2/TI020 P31/RXD0/INTP7 P94/A4/TI030 P52/RTP02/KR2 P96/A6/TI51 P00 P01 P33/TI000/TO00/TIP00 P34/TI001/TO00/TIP01 P30/TO02 P90/A0/KR6 P41/SO00 - - Function Alternate Function
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
36
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 2 PIN FUNCTIONS
2.2 Pin Status
The address bus becomes undefined during accesses to the internal RAM and ROM. The data bus goes into the high-impedance state without data output. The external bus control signal becomes inactive. During peripheral I/O access, the address bus outputs the addresses of the on-chip peripheral I/Os that are accessed. The data bus goes into the high-impedance state without data output. The external bus control signal becomes inactive. Table 2-2. Pin Operation Status in Operation Modes
Operating Status Pin AD0 to AD15 (PDL0 to PDL15) A0 to A15 (P90 to P915) A16 to A21 (PDH0 to PDH5) WAIT (PCM0) CLKOUT (PCM1) CS0, CS1 (PCS0, PCS1) WR0, WR1 (PCT0, PCT1) RD (PCT4) ASTB (PCT6) HLDAK (PCM2) HLDRQ (PCM3) Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Note 3 Undefined
Note 4
Reset
Note 1
HALT Mode
IDLE Mode/ STOP Mode Hi-Z Hi-Z Hi-Z - L H H H H H -
Idle State
Note 2
Bus Hold
Held Held Held - Operating Held H H H H -
Hi-Z Hi-Z Hi-Z - Operating Hi-Z Hi-Z Hi-Z Hi-Z L Operating
Undefined - Operating H H H H Operating Operating
Notes 1. Since the bus control pin is also used as a port pin, it is initialized to the port mode (input) after reset. 2. The pin statuses in the idle state inserted after the T3 state in the multiplex bus mode and after the T2 state in the separate bus mode are listed. 3. In separate bus mode: Hi-Z In multiplex bus mode: Undefined 4. Only in separate bus mode Remark Hi-Z: High impedance H: L: -: High-level output Low-level output Input without sampling (input acknowledgment not possible)
Preliminary User's Manual U17703EJ1V0UD
37
CHAPTER 2 PIN FUNCTIONS
2.3 Pin I/O Circuits and Recommended Connection of Unused Pins
(1/2)
Pin Alternate Function GC P00 P01 P02 P03 to P06 P10 P11 P30 P31 P32 P33 P34 P35 P36, P37 P38 P39 P40 P41 P42 P50 P51 P52 P53 P54 P55 P70 to P77 P90 P91 P92 P93 P94 P95 P96 P97 P98 SDA0 SCL0 SI00/RXD2 SO00/TXD2 SCK00 TI011/RTP00/KR0 TI50/RTP01/KR1 TO50/RTP02/KR2 SIA0/RTP03/KR3 SOA0/RTP04/KR4 SCKA0/RTP05/KR5 ANI0 to ANI7 A0/TXD1/KR6 A1/RXD1/KR7 A2/TI020/TO02 A3/TI021 A4/TI030/TO03 A5/TI031 A6/TI51/TO51 A7/SI01 A8/SO01 TOH0 TOH1 NMI INTP0 to INTP3 ANO0 ANO1 TXD0/TO02 RXD0/INTP7/TO03 ASCK0/ADTRG/TO01 TI000/TO00/TIP00/TOP00 TI001/TO00/TIP01/TOP01 TI010/TO01 - 6 7 17 18 to 21 3 4 25 26 27 28 29 30 31, 32 35 36 22 23 24 37 38 39 40 41 42 100 to 93 8 9 19 20 to 23 5 6 27 28 29 30 31 32 33, 34 37 38 24 25 26 39 40 41 42 43 44 2, 1, 100 to 95 43 44 45 46 47 48 49 50 51 45 46 47 48 49 50 51 52 53 5-W 8-A 5-W 8-A 5-W 10-E 8-A Input: Independently connect to EVDD or EVSS via a resistor. Output: Leave open. 9-C Connect to AVREF0 or AVSS. 10-A 5-W 10-E 10-F 8-A 13-AB 13-AD 5-A 5-W 12-B Input: Independently connect to AVREF1 or AVSS via a resistor. Output: Leave open. Input: Independently connect to EVDD or EVSS via a resistor. Output: Leave open. 5-W Pin No. GF I/O Circuit Type 5-A Input: Independently connect to EVDD or EVSS via a resistor. Output: Leave open. Recommended Connection
Remark
GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
38
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 2 PIN FUNCTIONS
(2/2)
Pin Alternate Function GC P99 P910 P911 P912 P913 to P915 PCM0 PCM1 PCM2 PCM3 PCS0, PCS1 PCT0 PCT1 PCT4 PCT6 PDL0 to PDL4 PDL5 A9/SCK01 A10/SIA1 A11/SOA1 A12/SCKA1 A13/INTP4 to A15/INTP6 WAIT CLKOUT HLDAK HLDRQ CS0, CS1 WR0 WR1 RD ASTB AD0 to AD4 AD5/FLMD1 52 53 54 55 56 to 58 61 62 63 64 59, 60 65 66 67 68 71 to 75 76 77 to 86 87 to 92 - - - - - - - - - 1 5 2 70 69 34 33 14 8 54 55 56 57 58 to 60 63 64 65 66 61, 62 67 68 69 70 73 to 77 78 79 to 88 89 to 94 3 7 4 72 71 36 35 16 10 5-A - - - - - - - 2 - Directly connect to VDD. Directly connect to VDD. - - - - - - Directly connect to EVSS or VSS or pull down with a 10 k resistor. VDD VSS X1 X2 XT1 XT2 - - - - - - 9 11 12 13 15 16 11 13 14 15 17 18 - - - - 16 16 - - - - Directly connect to VSS Leave open.
Note
Pin No. GF
I/O Circuit Type 10-F 5-W 10-E 10-F 5-W 5-A
Recommended Connection
Input: Independently connect to EVDD or EVSS via a resistor. Output: Leave open.
Input: Independently connect to BVDD or BVSS via a resistor. Output: Leave open.
5-A 5-A
5-A
PDL6 to PDL15 AD6 to AD15 PDH0 to PDH5 AVREF0 AVREF1 AVSS BVDD BVSS EVDD EVSS RESET FLMD0 A16 to A21
.
Note Be sure to set the PSMR.XTSTP bit to 1 when this pin is not used. Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
Preliminary User's Manual U17703EJ1V0UD
39
CHAPTER 2 PIN FUNCTIONS
2.4 Pin I/O Circuits
(1/2)
Type 2 Type 9-C
P-ch IN IN N-ch AVSS AVREF0 (threshold voltage)
+ -
Comparator
Input enable Schmitt-triggered input with hysteresis characteristics
Type 5-A
VDD
Type 10-A Pull-up enable VDD Data IN/OUT P-ch
VDD P-ch
Pull-up enable Data
P-ch VDD P-ch
Output disable Input enable Type 5-W Pull-up enable
N-ch VSS
Open drain Output disable
IN/OUT N-ch VSS
VDD P-ch VDD
Type 10-E Pull-up enable VDD Data P-ch
VDD P-ch
Data
P-ch IN/OUT Open drain Output disable
IN/OUT N-ch VSS
Output disable
N-ch VSS
Input enable Type 8-A Pull-up enable VDD Data P-ch IN/OUT Output disable VSS N-ch VDD Type 10-F
Input enable VDD P-ch VDD Data Open drain Output disable P-ch IN/OUT N-ch VSS
P-ch
Pull-up enable
Input enable
40
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 2 PIN FUNCTIONS
(2/2)
Type 12-B Pull-up enable AVREF1 Data Output disable P-ch IN/OUT N-ch AVSS Input enable Output disable N-ch VSS AVREF1 P-ch Data IN/OUT Type 13-AD
Input enable P-ch Analog output voltage N-ch Type 13-AB IN/OUT Data Output disable VSS VDD N-ch
Type 16 Feedback cut-off P-ch
RD
P-ch
Port read Medium-voltage input buffer
XT1
XT2
Remark
Read VDD as EVDD or BVDD. Also, read VSS as EVSS or BVSS.
Preliminary User's Manual U17703EJ1V0UD
41
CHAPTER 3 CPU FUNCTIONS
The CPU of the V850ES/KG2 is based on the RISC architecture and executes most instructions in one clock cycle by using 5-stage pipeline control.
3.1 Features
Number of instructions: 83 62.5 ns (@ 16 MHz operation: 4.0 to 5.5 V, REGC = 10 F) 100 ns (@ 10 MHz operation: 2.7 to 5.5 V, REGC = VDD) Memory space Program (physical address) space: 64 MB linear Data (logical address) space: General-purpose registers: 32 bits x 32 Internal 32-bit architecture 5-stage pipeline control Multiply/divide instructions Saturated operation instructions 32-bit shift instruction: 1 clock Load/store instruction with long/short format Four types of bit manipulation instructions * SET1 * CLR1 * NOT1 * TST1 4 GB linear * Memory block division function: 2 MB, 2 MB, 4 MB, 8 MB/Total of 4 blocks
Minimum instruction execution time: 50.0 ns (@ 20 MHz operation: 4.5 to 5.5 V, REGC = VDD)
42
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
3.2 CPU Register Set
The CPU registers of the V850ES/KG2 can be classified into two categories: a general-purpose program register set and a dedicated system register set. All the registers have 32-bit width. For details, refer to the V850ES Architecture User's Manual.
(1) Program register set
31 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31
(Element pointer (EP)) (Link pointer (LP)) CTBP DBPC DBPSW CTPC CTPSW PSW (Stack pointer (SP)) (Global pointer (GP)) (Text pointer (TP)) ECR FEPC FEPSW
(2) System register set
0 31 EIPC EIPSW
(Interrupt status saving register) (Interrupt status saving register)
0
(Zero register) (Assembler-reserved register)
(NMI status saving register) (NMI status saving register)
(Interrupt source register)
(Program status word)
(CALLT execution status saving register) (CALLT execution status saving register)
(Exception/debug trap status saving register) (Exception/debug trap status saving register)
(CALLT base pointer)
31 PC
(Program counter)
0
Preliminary User's Manual U17703EJ1V0UD
43
CHAPTER 3 CPU FUNCTIONS
3.2.1 Program register set The program register set includes general-purpose registers and a program counter. (1) General-purpose registers (r0 to r31) Thirty-two general-purpose registers, r0 to r31, are available. All of these registers can be used as a data variable or address variable. However, r0 and r30 are implicitly used by instructions and care must be exercised when using these registers. r0 always holds 0 and is used for operations that use 0 and offset 0 addressing. r30 is used as a base pointer when performing memory access with the SLD and SST instructions. Also, r1, r3 to r5, and r31 are implicitly used by the assembler and C compiler. Therefore, before using these registers, their contents must be saved so that they are not lost, and they must be restored to the registers after the registers have been used. There are cases when r2 is used by the real-time OS. If r2 is not used by the real-time OS, r2 can be used as a variable register. Table 3-1. Program Registers
Name r0 r1 r2 r3 r4 r5 r6 to r29 r30 r31 PC Usage Zero register Assembler-reserved register Always holds 0 Working register for generating 32-bit immediate Operation
Address/data variable register (when r2 is not used by the real-time OS to be used) Stack pointer Global pointer Text pointer Address/data variable register Element pointer Link pointer Program counter Base pointer when memory is accessed Used by compiler when calling function Holds instruction address during program execution Used to generate stack frame when function is called Used to access global variable in data area Register to indicate the start of the text area (area for placing program code)
(2) Program counter (PC) This register holds the address of the instruction under execution. The lower 26 bits of this register are valid, and bits 31 to 26 are fixed to 0. If a carry occurs from bit 25 to bit 26, it is ignored. Bit 0 is fixed to 0, and branching to an odd address cannot be performed.
31 PC Fixed to 0
26 25 Instruction address under execution
10 0
After reset 00000000H
44
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
3.2.2 System register set System registers control the status of the CPU and hold interrupt information. Read from and write to system registers are performed by setting the system register numbers shown below with the system register load/store instructions (LDSR, STSR instructions). Table 3-2. System Register Numbers
System Register No. System Register Name Operand Specification Enabled LDSR Instruction 0 1 2 3 4 5 6 to 15 Interrupt status saving register (EIPC)
Note 1
STSR Instruction Yes Yes Yes Yes Yes Yes No
Yes Yes Yes Yes No Yes No
Interrupt status saving register (EIPSW) NMI status saving register (FEPC)
Note 1
Note 1
NMI status saving register (FEPSW) Interrupt source register (ECR) Program status word (PSW)
Note 1
Reserved numbers for future function expansion (The operation is not guaranteed if accessed.)
16 17 18 19 20 21 to 31
CALLT execution status saving register (CTPC) CALLT execution status saving register (CTPSW) Exception/debug trap status saving register (DBPC) Exception/debug trap status saving register (DBPSW) CALLT base pointer (CTBP) Reserved numbers for future function expansion (The operation is not guaranteed if accessed.)
Yes Yes Yes Yes
Note 2
Yes Yes Yes Yes
Note 2
Note 2
Note 2
Yes No
Yes No
Notes 1. Since only one set of these registers is available, the contents of this register must be saved by the program when multiple interrupt servicing is enabled. 2. These registers can be accessed only during the interval between the execution of the DBTRAP instruction or illegal opcode and the DBRET instruction. Caution Even if bit 0 of EIPC, FEPC, or CTPC is set (1) by the LDSR instruction, bit 0 is ignored during return with the RETI instruction following interrupt servicing (because bit 0 of PC is fixed to 0). When setting a value to EIPC, FEPC, and CTPC, set an even number (bit 0 = 0).
Preliminary User's Manual U17703EJ1V0UD
45
CHAPTER 3 CPU FUNCTIONS
(1) Interrupt status saving registers (EIPC, EIPSW) There are two interrupt status saving registers, EIPC and EIPSW. Upon occurrence of a software exception or a maskable interrupt, the contents of the program counter (PC) are saved to EIPC and the contents of the program status word (PSW) are saved to EIPSW (upon occurrence of a non-maskable interrupt (NMI), the contents are saved to the NMI status saving registers (FEPC, FEPSW)). The address of the next instruction following the instruction executed when a software exception or maskable interrupt occurs is saved to EIPC, except for some instructions (refer to 21.9 Period in Which Interrupts Are Not Acknowledged by CPU). The current PSW contents are saved to EIPSW. Since there is only one set of interrupt status saving registers, the contents of these registers must be saved by the program when multiple interrupt servicing is enabled. Bits 31 to 26 of EIPC and bits 31 to 8 of EIPSW are reserved (fixed to 0) for future function expansion. When the RETI instruction is executed, the values in EIPC and EIPSW are restored to the PC and PSW, respectively.
31 EIPC
26 25 (PC contents saved)
0 After reset 0xxxxxxxH (x: Undefined)
87 0 After reset 000000xxH (x: Undefined)
000000
31 EIPSW
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (PSW contents saved)
46
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(2) NMI status saving registers (FEPC, FEPSW) There are two NMI status saving registers, FEPC and FEPSW. Upon occurrence of a non-maskable interrupt (NMI), the contents of the program counter (PC) are saved to FEPC and the contents of the program status word (PSW) are saved to FEPSW. The address of the next instruction following the instruction executed when a non-maskable interrupt occurs is saved to FEPC, except for some instructions. The current PSW contents are saved to FEPSW. Since there is only one set of NMI status saving registers, the contents of these registers must be saved by the program when multiple interrupt servicing is performed. Bits 31 to 26 of FEPC and bits 31 to 8 of FEPSW are reserved (fixed to 0) for future function expansion.
31 FEPC
26 25 (PC contents saved)
0 After reset 0xxxxxxxH (x: Undefined) 87 0 After reset 000000xxH (x: Undefined)
000000
31 FEPSW
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (PSW contents saved)
(3) Interrupt source register (ECR) Upon occurrence of an interrupt or an exception, the interrupt source register (ECR) holds the source of an interrupt or an exception. The value held by ECR is the exception code coded for each interrupt source. This register is a read-only register, and thus data cannot be written to it using the LDSR instruction.
31 ECR FECC
16 15
EICC
0 After reset 00000000H
Bit position 31 to 16 15 to 0
Bit name FECC EICC
Description Non-maskable interrupt (NMI) exception code Exception, maskable interrupt exception code
Preliminary User's Manual U17703EJ1V0UD
47
CHAPTER 3 CPU FUNCTIONS
(4) Program status word (PSW) The program status word (PSW) is a collection of flags that indicate the program status (instruction execution result) and the CPU status. When the contents of this register are changed using the LDSR instruction, the new contents become valid immediately following completion of LDSR instruction execution. Interrupt request acknowledgment is held pending while a write to the PSW is being executed by the LDSR instruction. Bits 31 to 8 are reserved (fixed to 0) for future function expansion. (1/2)
31 PSW RFU
876543210
NP EP ID SAT CY OV S Z
After reset 00000020H
Bit position 31 to 8 7
Flag name RFU NP Reserved field. Fixed to 0.
Description
Indicates that non-maskable interrupt (NMI) servicing is in progress. This flag is set to 1 when an NMI request is acknowledged, and disables multiple interrupts. 0: NMI servicing not in progress 1: NMI servicing in progress
6
EP
Indicates that exception processing is in progress. This flag is set to 1 when an exception occurs. Moreover, interrupt requests can be acknowledged even when this bit is set. 0: Exception processing not in progress 1: Exception processing in progress
5
ID
Indicates whether maskable interrupt request acknowledgment is enabled. 0: Interrupt enabled 1: Interrupt disabled
Note
4
SAT
Indicates that the result of executing a saturated operation instruction has overflowed and that the calculation result is saturated. Since this is a cumulative flag, it is set to 1 when the result of a saturated operation instruction becomes saturated, and it is not cleared to 0 even if the operation results of successive instructions do not become saturated. This flag is neither set nor cleared when arithmetic operation instructions are executed. 0: Not saturated 1: Saturated
3
CY
Indicates whether carry or borrow occurred as the result of an operation. 0: No carry or borrow occurred 1: Carry or borrow occurred
Note
2
OV
Indicates whether overflow occurred during an operation. 0: No overflow occurred 1: Overflow occurred.
1
S
Note
Indicates whether the result of an operation is negative. 0: Operation result is positive or 0. 1: Operation result is negative.
0
Z
Indicates whether operation result is 0. 0: Operation result is not 0. 1: Operation result is 0.
Remark
Note is explained on the following page.
48
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(2/2) Note During saturated operation, the saturated operation results are determined by the contents of the OV flag and S flag. The SAT flag is set (to 1) only when the OV flag is set (to 1) during saturated operation.
Operation result status SAT Maximum positive value exceeded Maximum negative value exceeded Positive (maximum value not exceeded) Negative (maximum value not exceeded) 1 1 Holds value before operation 1 1 0 Flag status OV 0 1 0 1 S Saturated operation result 7FFFFFFFH 80000000H Actual operation result
(5) CALLT execution status saving registers (CTPC, CTPSW) There are two CALLT execution status saving registers, CTPC and CTPSW. When the CALLT instruction is executed, the contents of the program counter (PC) are saved to CTPC, and the program status word (PSW) contents are saved to CTPSW. The contents saved to CTPC consist of the address of the next instruction after the CALLT instruction. The current PSW contents are saved to CTPSW. Bits 31 to 26 of CTPC and bits 31 to 8 of CTPSW are reserved (fixed to 0) for future function expansion.
31 CTPC
26 25 (PC contents saved)
0 After reset 0xxxxxxxH (x: Undefined) 87 0 After reset 000000xxH (x: Undefined)
000000
31 CTPSW
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (PSW contents saved)
Preliminary User's Manual U17703EJ1V0UD
49
CHAPTER 3 CPU FUNCTIONS
(6) Exception/debug trap status saving registers (DBPC, DBPSW) There are two exception/debug trap status saving registers, DBPC and DBPSW. Upon occurrence of an exception trap or debug trap, the contents of the program counter (PC) are saved to DBPC, and the program status word (PSW) contents are saved to DBPSW. The contents saved to DBPC consist of the address of the next instruction after the instruction executed when an exception trap or debug trap occurs. The current PSW contents are saved to DBPSW. Bits 31 to 26 of DBPC and bits 31 to 8 of DBPSW are reserved (fixed to 0) for future function expansion.
31 DBPC
26 25 (PC contents saved)
0 After reset 0xxxxxxxH (x: Undefined) 87 0 After reset 000000xxH (x: Undefined)
000000
31 DBPSW
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (PSW contents saved)
(7) CALLT base pointer (CTBP) The CALLT base pointer (CTBP) is used to specify table addresses and generate target addresses (bit 0 is fixed to 0). Bits 31 to 26 are reserved (fixed to 0) for future function expansion.
31 CTBP
26 25 (Base address)
0
0
000000
After reset 0xxxxxxxH (x: Undefined)
50
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
3.3 Operating Modes
The V850ES/KG2 has the following operating modes. (1) Normal operating mode After the system has been released from the reset state, the pins related to the bus interface are set to the port mode, execution branches to the reset entry address of the internal ROM, and instruction processing is started. (2) Flash memory programming mode When this mode is specified, the internal flash memory can be programmed by using a flash programmer. (a) Specifying operating mode The operating mode is specified according to the status (input level) of the FLMD0 and FLMD1 pins. In the normal operating mode, input a low level to the FLMD0 pin during the reset period. A high level is input to the FLMD0 pin by the flash programmer in the flash memory programming mode if a flash programmer is connected. In the self-programming mode, input a high level to this pin from an external circuit. Fix the specification of these pins in the application system and do not change the setting of these pins during operation.
FLMD0 L H H FLMD1 x L H Operating Mode Normal operating mode Flash memory programming mode Setting prohibited
Remark
H: High level L: Low level x: don't care
Preliminary User's Manual U17703EJ1V0UD
51
CHAPTER 3 CPU FUNCTIONS
3.4 Address Space
3.4.1 CPU address space For instruction addressing, up to a combined total of 16 MB of external memory area and internal ROM area, plus an internal RAM area, are supported in a linear address space (program space) of up to 64 MB. For operand addressing (data access), up to 4 GB of a linear address space (data space) is supported. The 4 GB address space, however, is viewed as 64 images of a 64 MB physical address space. This means that the same 64 MB physical address space is accessed regardless of the value of bits 31 to 26. Figure 3-1. Address Space Image
Image 63
4 GB * * *
Data space On-chip peripheral I/O area Image 1
Program space Reserved area
Internal RAM area
Internal RAM area Access-prohibited area 64 MB Access-prohibited area 64 MB Image 0 External memory area
External memory area 16 MB Internal ROM area (external memory) Internal ROM area (external memory)
52
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
3.4.2 Wraparound of CPU address space (1) Program space Of the 32 bits of the program counter (PC), the higher 6 bits are fixed to 0 and only the lower 26 bits are valid. Even if a carry or borrow occurs from bit 25 to bit 26 as a result of branch address calculation, the higher 6 bits ignore this and remain 0. Therefore, the lower-limit address of the program space, 00000000H, and the upper-limit address, 03FFFFFFH, are contiguous addresses, and the program space is wrapped around at the boundary of these addresses. Caution No instructions can be fetched from the 4 KB area of 03FFF000H to 03FFFFFFH because this area is an on-chip peripheral I/O area. Therefore, do not execute any branch operation instructions in which the destination address will reside in any part of this area.
00000001H 00000000H
Program space
(+) direction
(-) direction
03FFFFFFH 03FFFFFEH Program space
(2) Data space The result of an operand address calculation that exceeds 32 bits is ignored. Therefore, the lower-limit address of the data space, address 00000000H, and the upper-limit address, FFFFFFFFH, are contiguous addresses, and the data space is wrapped around at the boundary of these addresses.
00000001H 00000000H
Data space
(+) direction
(-) direction
FFFFFFFFH FFFFFFFEH Data space
Preliminary User's Manual U17703EJ1V0UD
53
CHAPTER 3 CPU FUNCTIONS
3.4.3 Memory map The V850ES/KG2 has reserved areas as shown below. Figure 3-2. Data Memory Map (Physical Addresses)
3FFFFFFH (80 KB) 3FEC000H 3FEBFFFH
On-chip peripheral I/O area (4 KB)
3FFFFFFH 3FFF000H 3FFEFFFH
Internal RAM area (60 KB)
3FFF000H 3FFEFFFH Access-prohibited area 3FEC000H
Access-prohibited area
0400000H 03FFFFFH 0200000H 01FFFFFH 0000000H External memory area (2 MB) CS1 External memory area (1 MB) Internal ROM areaNote (1 MB)
01FFFFFH
0100000H 00FFFFFH 0000000H
(2 MB)
CS0
Note Fetch access and read access to addresses 0000000H to 00FFFFFH is performed for the internal ROM area, but in the case of data write access, it is performed for an external memory area.
54
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
Figure 3-3. Program Memory Map
03FFFFFFH 03FFF000H 03FFEFFFH
Access-prohibited area (Program fetch disabled area)
Internal RAM area (60 KB) 03FF0000H 03FEFFFFH
Access-prohibited area (Program fetch disabled area)
00400000H 003FFFFFH 00200000H 001FFFFFH 00100000H 000FFFFFH 00000000H
External memory area (2 MB) External memory area (1 MB) Internal ROM area (1 MB)
CS1
CS0
Preliminary User's Manual U17703EJ1V0UD
55
CHAPTER 3 CPU FUNCTIONS
3.4.4 Areas (1) Internal ROM area An area of 1 MB from 0000000H to 00FFFFFH is reserved for the internal ROM area. (a) Internal ROM (256 KB) A 256 KB area from 0000000H to 003FFFFH is provided in the following products. Addresses 0040000H to 00FFFFFH are an access-prohibited area. * PD70F3732 Figure 3-4. Internal ROM Area (256 KB)
00FFFFFH
Access-prohibited area 0040000H 003FFFFH
Internal ROM area (256 KB)
0000000H
56
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(b) Internal ROM (128 KB) A 128 KB area from 0000000H to 001FFFFH is provided in the following products. Addresses 0020000H to 00FFFFFH are an access-prohibited area. * PD70F3731 Figure 3-5. Internal ROM Area (128 KB)
00FFFFFH
Access-prohibited area
0020000H 001FFFFH Internal ROM area (128 KB) 0000000H
(2) Internal RAM area An area of 60 KB maximum from 3FF0000H to 3FFEFFFH is reserved for the internal RAM area. (a) Internal RAM (16 KB) A 16 KB area from 3FFB000H to 3FFEFFFH is provided as physical internal RAM. Addresses 3FF0000H to 3FFAFFFH are an access-prohibited area. * PD70F3732 Figure 3-6. Internal RAM Area (16 KB)
Physical address space 3FFEFFFH
Logical address space FFFEFFFH
Internal RAM area (16 KB)
3FFB000H 3FFAFFFH
FFFB000H FFFAFFFH
Access-prohibited area
3FF0000H
FFF0000H
Preliminary User's Manual U17703EJ1V0UD
57
CHAPTER 3 CPU FUNCTIONS
(b) Internal RAM (6 KB) A 6 KB area from 3FFB000H to 3FFC7FFH is provided as physical internal RAM. Addresses 3FF0000H to 3FFAFFFH and 3FFC800H to 3FFEFFFH are an access-prohibited area. * PD70F3731 Figure 3-7. Internal RAM Area (6 KB)
Physical address space 3FFEFFFH Access-prohibited area 3FFC800H 3FFC7FFH Internal RAM area (6 KB) 3FFB000H 3FFAFFFH
Logical address space FFFEFFFH FFFC800H FFFC7FFH FFFB000H FFFAFFFH
Access-prohibited area
3FF0000H
FFF0000H
58
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(3) On-chip peripheral I/O area A 4 KB area from 3FFF000H to 3FFFFFFH is reserved as the on-chip peripheral I/O area. Figure 3-8. On-Chip Peripheral I/O Area
Physical address space 3FFFFFFH
Logical address space FFFFFFFH
On-chip peripheral I/O area (4 KB) 3FFF000H FFFF000H
Peripheral I/O registers assigned with functions such as on-chip peripheral I/O operation mode specification and state monitoring are mapped to the on-chip peripheral I/O area. Program fetches are not allowed in this area. Cautions 1. If word access of a register is attempted, halfword access to the word area is performed twice, first for the lower bits, then for the higher bits, ignoring the lower 2 address bits. 2. If a register that can be accessed in byte units is accessed in halfword units, the higher 8 bits become undefined if the access is a read operation. If a write access is performed, only the data in the lower 8 bits is written to the register. 3. Addresses that are not defined as registers are reserved for future expansion. If these addresses are accessed, the operation is undefined and not guaranteed. (4) External memory area 3 MB (0100000H to 03FFFFFH) are provided as the external memory area. For details, refer to CHAPTER 5 BUS CONTROL FUNCTION.
Preliminary User's Manual U17703EJ1V0UD
59
CHAPTER 3 CPU FUNCTIONS
3.4.5 Recommended use of address space The architecture of the V850ES/KG2 requires that a register that serves as a pointer be secured for address generation when operand data in the data space is accessed. The address stored in this pointer 32 KB can be directly accessed by an instruction for operand data. Because the number of general-purpose registers that can be used as a pointer is limited, however, by keeping the performance from dropping during address calculation when a pointer value is changed, as many general-purpose registers as possible can be secured for variables, and the program size can be reduced. (1) Program space Of the 32 bits of the PC (program counter), the higher 6 bits are fixed to 0, and only the lower 26 bits are valid. Regarding the program space, therefore, a 64 MB space of contiguous addresses starting from 00000000H unconditionally corresponds to the memory map. To use the internal RAM area as the program space, access following addresses.
RAM Size 6 KB 16 KB Access Address 3FFB000H to 3FFC7FFH 3FFB000H to 3FFEFFFH
(2) Data space With the V850ES/KG2, it seems that there are sixty-four 64 MB address spaces on the 4 GB CPU address space. Therefore, the least significant bit (bit 25) of a 26-bit address is sign-extended to 32 bits and allocated as an address.
60
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(a) Application example of wraparound If R = r0 (zero register) is specified for the LD/ST disp16 [R] instruction, a range of addresses 00000000H 32 KB can be addressed by sign-extended disp16. All the resources, including the internal hardware, can be addressed by one pointer. The zero register (r0) is a register fixed to 0 by hardware, and practically eliminates the need for registers dedicated to pointers. Example: PD70F3732
0001FFFFH 00007FFFH
Internal ROM area
32 KB
(R = ) 0 0 0 0 0 0 0 0 H FFFFF000H FFFFEFFFH
On-chip peripheral I/O area Internal RAM area
4 KB
16 KB
FFFFB000H FFFFAFFFH Access-prohibited area FFFF8000H 12 KB
Preliminary User's Manual U17703EJ1V0UD
61
CHAPTER 3 CPU FUNCTIONS
Figure 3-9. Recommended Memory Map
Program space FFFFFFFFH
Data space
On-chip peripheral I/O FFFFF000H FFFFEFFFH Internal RAM xFFFFFFFH FFFEC000H FFFEBFFFH On-chip peripheral I/O xFFFF000H xFFFEFFFH Internal RAM xFFFB000H xFFFAFFFH xFFFF000H xFFFEFFFH On-chip peripheral I/ONote Internal RAM
04000000H 03FFFFFFH 03FFF000H 03FFEFFFH 03FFB000H 03FFAFFFH 03FFF000H 03FFEFFFH
Use prohibited
Use prohibited Program space 64 MB External memory 01000000H 00FFFFFFH Internal ROM External memory x0000000H
x0100000H x00FFFFFH
00100000H 000FFFFFH 00040000H 0003FFFFH 00000000H
Internal ROM
Internal ROM
Note Access to this area is prohibited. To access the on-chip peripheral I/O in this area, specify addresses FFFF000H to FFFFFFFH. Remarks 1.
indicates the recommended area.
2. This figure is the recommended memory map of the PD70F3732.
62
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
3.4.6 Peripheral I/O registers (1/11)
Address Function Register Name Symbol R/W Operable Bit Unit After Reset 1 FFFFF004H FFFFF004H FFFFF005H FFFFF006H FFFFF008H FFFFF00AH FFFFF00CH FFFFF024H FFFFF024H FFFFF025H FFFFF026H FFFFF028H FFFFF02AH FFFFF02CH FFFFF044H FFFFF044H FFFFF045H FFFFF046H FFFFF048H FFFFF04AH FFFFF04CH FFFFF066H FFFFF06EH FFFFF080H FFFFF082H FFFFF084H FFFFF086H FFFFF088H FFFFF08AH FFFFF08CH FFFFF08EH FFFFF090H FFFFF092H FFFFF094H FFFFF096H FFFFF098H FFFFF09AH FFFFF09CH FFFFF09EH Port DL register Port DL register L Port DL register H Port DH register Port CS register Port CT register Port CM register Port DL mode register Port DL mode register L Port DL mode register H Port DH mode register Port CS mode register Port CT mode register Port CM mode register Port DL mode control register Port DL mode control register L Port DL mode control register H Port DH mode control register Port CS mode control register Port CT mode control register Port CM mode control register Bus size configuration register System wait control register DMA source address register 0L DMA source address register 0H DMA destination address register 0L DMA destination address register 0H DMA source address register 1L DMA source address register 1H DMA destination address register 1L DMA destination address register 1H DMA source address register 2L DMA source address register 2H DMA destination address register 2L DMA destination address register 2H DMA source address register 3L DMA source address register 3H DMA destination address register 3L DMA destination address register 3H PDL PDLL PDLH PDH PCS PCT PCM PMDL PMDLL PMDLH PMDH PMCS PMCT PMCM PMCDL PMCDLL PMCDLH PMCDH PMCCS PMCCT PMCCM BSC VSWC DSA0L DSA0H DDA0L DDA0H DSA1L DSA1H DDA1L DDA1H DSA2L DSA2H DDA2L DDA2H DSA3L DSA3H DDA3L DDA3H R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 8 16 0000H 00H 00H 00H 00H 00H 00H
Note
Note
Note
Note
Note
Note
Note
FFFFH FFH FFH FFH FFH FFH FFH 0000H 00H 00H 00H 00H 00H 00H 5555H 77H Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined
Note The output latch is 00H or 0000H. When input, the pin status is read.
Preliminary User's Manual U17703EJ1V0UD
63
CHAPTER 3 CPU FUNCTIONS
(2/11)
Address Function Register Name Symbol R/W Operable Bit Unit After Reset 1 FFFFF0C0H FFFFF0C2H FFFFF0C4H FFFFF0C6H FFFFF0D0H FFFFF0D2H FFFFF0D4H FFFFF0D6H FFFFF0E0H FFFFF0E2H FFFFF0E4H FFFFF0E6H FFFFF100H FFFFF100H FFFFF101H FFFFF102H FFFFF102H FFFFF103H FFFFF104H FFFFF104H FFFFF105H FFFFF106H FFFFF106H FFFFF107H FFFFF110H FFFFF112H FFFFF114H FFFFF116H FFFFF118H FFFFF11AH FFFFF11CH FFFFF11EH FFFFF120H FFFFF122H FFFFF124H FFFFF126H FFFFF128H FFFFF12AH FFFFF12CH FFFFF12EH FFFFF130H FFFFF132H DMA byte count register 0 DMA byte count register 1 DMA byte count register 2 DMA byte count register 3 DMA addressing control register 0 DMA addressing control register 1 DMA addressing control register 2 DMA addressing control register 3 DMA channel control register 0 DMA channel control register 1 DMA channel control register 2 DMA channel control register 3 Interrupt mask register 0 Interrupt mask register 0L Interrupt mask register 0H Interrupt mask register 1 Interrupt mask register 1L Interrupt mask register 1H Interrupt mask register 2 Interrupt mask register 2L Interrupt mask register 2H Interrupt mask register 3 Interrupt mask register 3L Interrupt mask register 3H Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register DBC0 DBC1 DBC2 DBC3 DADC0 DADC1 DADC2 DADC3 DCHC0 DCHC1 DCHC2 DCHC3 IMR0 IMR0L IMR0H IMR1 IMR1L IMR1H IMR2 IMR2L IMR2H IMR3 IMR3L IMR3H WDT1IC PIC0 PIC1 PIC2 PIC3 PIC4 PIC5 PIC6 TM0IC00 TM0IC01 TM0IC10 TM0IC11 TM5IC0 TM5IC1 CSI0IC0 CSI0IC1 SREIC0 SRIC0 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 8 16 Undefined Undefined Undefined Undefined 0000H 0000H 0000H 0000H 00H 00H 00H 00H FFFFH FFH FFH FFFFH FFH FFH FFFFH FFH FFH FFFFH FFH FFH 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H
64
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(3/11)
Address Function Register Name Symbol R/W Operable Bit Unit After Reset 1 FFFFF134H FFFFF136H FFFFF138H FFFFF13AH FFFFF13CH FFFFF13EH FFFFF140H FFFFF142H FFFFF144H FFFFF146H FFFFF148H FFFFF14AH FFFFF14CH FFFFF14EH FFFFF150H FFFFF152H FFFFF154H FFFFF156H FFFFF162H FFFFF164H FFFFF166H FFFFF172H FFFFF174H FFFFF176H FFFFF178H FFFFF17AH FFFFF17CH FFFFF17EH FFFFF180H FFFFF1FAH FFFFF1FCH FFFFF1FEH FFFFF200H FFFFF201H FFFFF202H FFFFF203H FFFFF204H FFFFF205H FFFFF280H FFFFF282H FFFFF284H Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register In-service priority register Command register Power save control register A/D converter mode register Analog input channel specification register Power fail comparison mode register Power fail comparison threshold register A/D conversion result register A/D conversion result register H D/A conversion value setting register 0 D/A conversion value setting register 1 D/A converter mode register STIC0 SREIC1 SRIC1 STIC1 TMHIC0 TMHIC1 CSIAIC0 IICIC0 ADIC KRIC WTIIC WTIC BRGIC TM0IC20 TM0IC21 TM0IC30 TM0IC31 CSIAIC1 SREIC2 SRIC2 STIC2 PIC7 TP0OVIC TP0CCIC0 TP0CCIC1 DMAIC0 DMAIC1 DMAIC2 DMAIC3 ISPR PRCMD PSC ADM ADS PFM PFT ADCR ADCRH DACS0 DACS1 DAM R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R W R/W R/W R/W R/W R/W R R R/W R/W R/W 8 16 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 47H 00H Undefined 00H 00H 00H 00H 00H Undefined Undefined 00H 00H 00H
Preliminary User's Manual U17703EJ1V0UD
65
CHAPTER 3 CPU FUNCTIONS
(4/11)
Address Function Register Name Symbol R/W Operable Bit Unit After Reset 1 FFFFF300H FFFFF30AH FFFFF318H FFFFF400H FFFFF402H FFFFF406H FFFFF406H FFFFF407H FFFFF408H FFFFF40AH FFFFF40EH FFFFF412H FFFFF412H FFFFF413H FFFFF420H FFFFF422H FFFFF426H FFFFF426H FFFFF427H FFFFF428H FFFFF42AH FFFFF432H FFFFF432H FFFFF433H FFFFF440H FFFFF446H FFFFF446H FFFFF447H FFFFF448H FFFFF44AH FFFFF452H FFFFF452H FFFFF453H FFFFF466H FFFFF468H FFFFF46AH FFFFF472H FFFFF472H FFFFF473H FFFFF484H FFFFF488H Key return mode register Selector operation control register 1 Digital noise elimination control register Port 0 register Port 1 register Port 3 register Port 3 register L Port 3 register H Port 4 register Port 5 register Port 7 register Port 9 register Port 9 register L Port 9 register H Port 0 mode register Port 1 mode register Port 3 mode register Port 3 mode register L Port 3 mode register H Port 4 mode register Port 5 mode register Port 9 mode register Port 9 mode register L Port 9 mode register H Port 0 mode control register Port 3 mode control register Port 3 mode control register L Port 3 mode control register H Port 4 mode control register Port 5 mode control register Port 9 mode control register Port 9 mode control register L Port 9 mode control register H Port 3 function control register Port 4 function control register Port 5 function control register Port 9 function control register Port 9 function control register L Port 9 function control register H Data wait control register 0 Address wait control register KRM SELCNT1 NFC P0 P1 P3 P3L P3H P4 P5 P7 P9 P9L P9H PM0 PM1 PM3 PM3L PM3H PM4 PM5 PM9 PM9L PM9H PMC0 PMC3 PMC3L PMC3H PMC4 PMC5 PMC9 PMC9L PMC9H PFC3 PFC4 PFC5 PFC9 PFC9L PFC9H DWC0 AWC R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 8 16 00H 00H 00H 00H 00H
Note
Note
0000H 00H 00H 00H 00H
Note
Note
Note
Note
Note
Undefined 0000H 00H 00H
Note
Note
Note
FFH FFH FFFFH FFH FFH FFH FFH FFFFH FFH FFH 00H 0000H 00H 00H 00H 00H 0000H 00H 00H 00H 00H 00H 0000H 00H 00H 7777H FFFFH
Note The output latch is 00H or 0000H. When input, the pin status is read.
66
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(5/11)
Address Function Register Name Symbol R/W Operable Bit Unit After Reset 1 FFFFF48AH FFFFF580H FFFFF581H FFFFF582H FFFFF583H FFFFF590H FFFFF591H FFFFF592H FFFFF593H FFFFF5A0H FFFFF5A1H FFFFF5A2H FFFFF5A3H FFFFF5A4H FFFFF5A5H FFFFF5A6H FFFFF5A8H FFFFF5AAH FFFFF5C0H FFFFF5C0H FFFFF5C1H FFFFF5C2H FFFFF5C2H FFFFF5C3H FFFFF5C4H FFFFF5C4H FFFFF5C5H FFFFF5C6H FFFFF5C6H FFFFF5C7H FFFFF600H FFFFF602H FFFFF604H FFFFF606H FFFFF607H FFFFF608H FFFFF609H FFFFF610H FFFFF612H FFFFF614H FFFFF616H FFFFF617H FFFFF618H Bus cycle control register 8-bit timer H mode register 0 8-bit timer H carrier control register 0 8-bit timer H compare register 00 8-bit timer H compare register 01 8-bit timer H mode register 1 8-bit timer H carrier control register 1 8-bit timer H compare register 10 8-bit timer H compare register 11 TMP0 control register 0 TMP0 control register 1 TMP0 I/O control register 0 TMP0 I/O control register 1 TMP0 I/O control register 2 TMP0 option register 0 TMP0 capture/compare register 0 TMP0 capture/compare register 1 TMP0 counter read buffer register 16-bit timer counter 5 8-bit timer counter 50 8-bit timer counter 51 16-bit timer compare register 5 8-bit timer compare register 50 8-bit timer compare register 51 Timer clock selection register 5 Timer clock selection register 50 Timer clock selection register 51 16-bit timer mode control register 5 8-bit timer mode control register 50 8-bit timer mode control register 51 16-bit timer counter 00 16-bit timer capture/compare register 000 16-bit timer capture/compare register 001 16-bit timer mode control register 00 Prescaler mode register 00 Capture/compare control register 00 16-bit timer output control register 00 16-bit timer counter 01 16-bit timer capture/compare register 010 16-bit timer capture/compare register 011 16-bit timer mode control register 01 Prescaler mode register 01 Capture/compare control register 01 BCC TMHMD0 TMCYC0 CMP00 CMP01 TMHMD1 TMCYC1 CMP10 CMP11 TP0CTL0 TP0CTL1 TP0IOC0 TP0IOC1 TP0IOC2 TP0OPT0 TP0CCR0 TP0CCR1 TP0CNT TM5 TM50 TM51 CR5 CR50 CR51 TCL5 TCL50 TCL51 TMC5 TMC50 TMC51 TM00 CR000 CR001 TMC00 PRM00 CRC00 TOC00 TM01 CR010 CR011 TMC01 PRM01 CRC01 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R R R R R/W R/W R/W R/W R/W R/W R/W R/W R/W R R/W R/W R/W R/W R/W R/W R R/W R/W R/W R/W R/W 8 16 AAAAH 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 0000H 0000H 0000H 0000H 00H 00H 0000H 00H 00H 0000H 00H 00H 0000H 00H 00H 0000H 0000H 0000H 00H 00H 00H 00H 0000H 0000H 0000H 00H 00H 00H
Preliminary User's Manual U17703EJ1V0UD
67
CHAPTER 3 CPU FUNCTIONS
(6/11)
Address Function Register Name Symbol R/W Operable Bit Unit After Reset 1 FFFFF619H FFFFF620H FFFFF622H FFFFF624H FFFFF626H FFFFF627H FFFFF628H FFFFF629H FFFFF630H FFFFF632H FFFFF634H FFFFF636H FFFFF637H FFFFF638H FFFFF639H FFFFF680H FFFFF6C0H FFFFF6C1H FFFFF6C2H FFFFF6D0H FFFFF6D1H FFFFF6E0H FFFFF6E2H FFFFF6E4H FFFFF6E5H FFFFF706H FFFFF802H FFFFF806H FFFFF810H FFFFF812H FFFFF814H FFFFF816H FFFFF820H FFFFF828H FFFFF8B0H FFFFF8B1H FFFFFA00H FFFFFA02H FFFFFA03H FFFFFA04H FFFFFA05H FFFFFA06H 16-bit timer output control register 01 16-bit timer counter 02 16-bit timer capture/compare register 020 16-bit timer capture/compare register 021 16-bit timer mode control register 02 Prescaler mode register 02 Capture/compare control register 02 16-bit timer output control register 02 16-bit timer counter 03 16-bit timer capture/compare register 030 16-bit timer capture/compare register 031 16-bit timer mode control register 03 Prescaler mode register 03 Capture/compare control register 03 16-bit timer output control register 03 Watch timer operation mode register Oscillation stabilization time selection register Watchdog timer clock selection register Watchdog timer mode register 1 Watchdog timer mode register 2 Watchdog timer enable register Real-time output buffer register L0 Real-time output buffer register H0 Real-time output port mode register 0 Real-time output port control register 0 Port 3 function control expansion register System status register PLL control register DMA trigger factor register 0 DMA trigger factor register 1 DMA trigger factor register 2 DMA trigger factor register 3 Power save mode register Processor clock control register Interval timer BRG mode register Interval timer BRG compare register Asynchronous serial interface mode register 0 Receive buffer register 0 Asynchronous serial interface status register 0 Transmit buffer register 0 Asynchronous serial interface transmit status register 0 Clock select register 0 TOC01 TM02 CR020 CR021 TMC02 PRM02 CRC02 TOC02 TM03 CR030 CR031 TMC03 PRM03 CRC03 TOC03 WTM OSTS WDCS WDTM1 WDTM2 WDTE RTBL0 RTBH0 RTPM0 RTPC0 PFCE3 SYS PLLCTL DTFR0 DTFR1 DTFR2 DTFR3 PSMR PCC PRSM PRSCM ASIM0 RXB0 ASIS0 TXB0 ASIF0 CKSR0 R/W R R/W R/W R/W R/W R/W R/W R R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R R R/W R R/W 8 16 00H 0000H 0000H 0000H 00H 00H 00H 00H 0000H 0000H 0000H 00H 00H 00H 00H 00H 01H 00H 00H 67H 9AH 00H 00H 00H 00H 00H 00H 01H 00H 00H 00H 00H 00H 03H 00H 00H 01H FFH 00H FFH 00H 00H
68
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(7/11)
Address Function Register Name Symbol R/W Operable Bit Unit After Reset 1 FFFFFA07H FFFFFA10H FFFFFA12H FFFFFA13H FFFFFA14H FFFFFA15H FFFFFA16H FFFFFA17H FFFFFA20H FFFFFA22H FFFFFA23H FFFFFA24H FFFFFA25H FFFFFA26H FFFFFA27H FFFFFB00H FFFFFB04H FFFFFC00H FFFFFC06H FFFFFC13H FFFFFC20H FFFFFC26H FFFFFC33H FFFFFC40H FFFFFC42H FFFFFC46H FFFFFC48H FFFFFC4AH FFFFFC52H FFFFFC52H FFFFFC53H FFFFFC67H FFFFFC68H FFFFFC6AH FFFFFC73H FFFFFD00H FFFFFD01H FFFFFD02H FFFFFD02H FFFFFD04H FFFFFD04H FFFFFD06H FFFFFD06H Baud rate generator control register 0 Asynchronous serial interface mode register 1 Receive buffer register 1 Asynchronous serial interface status register 1 Transmit buffer register 1 Asynchronous serial interface transmit status register 1 Clock select register 1 Baud rate generator control register 1 Asynchronous serial interface mode register 2 Receive buffer register 2 Asynchronous serial interface status register 2 Transmit buffer register 2 Asynchronous serial interface transmit status register 2 Clock select register 2 Baud rate generator control register 2 TIP00 noise elimination control register TIP01 noise elimination control register External interrupt falling edge specification register 0 External interrupt falling edge specification register 3 External interrupt falling edge specification register 9H External interrupt rising edge specification register 0 External interrupt rising edge specification register 3 External interrupt rising edge specification register 9H Pull-up resistor option register 0 Pull-up resistor option register 1 Pull-up resistor option register 3 Pull-up resistor option register 4 Pull-up resistor option register 5 Pull-up resistor option register 9 Pull-up resistor option register 9L Pull-up resistor option register 9H Port 3 function register H Port 4 function register Port 5 function register Port 9 function register H Clocked serial interface mode register 00 Clocked serial interface clock selection register 0 Clocked serial interface receive buffer register 0 Clocked serial interface receive buffer register 0L Clocked serial interface transmit buffer register 0 Clocked serial interface transmit buffer register 0L Clocked serial interface read-only receive buffer register 0 Clocked serial interface read-only receive buffer register 0L BRGC0 ASIM1 RXB1 ASIS1 TXB1 ASIF1 CKSR1 BRGC1 ASIM2 RXB2 ASIS2 TXB2 ASIF2 CKSR2 BRGC2 P0NFC P1NFC INTF0 INTF3 INTF9H INTR0 INTR3 INTR9H PU0 PU1 PU3 PU4 PU5 PU9 PU9L PU9H PF3H PF4 PF5 PF9H CSIM00 CSIC0 SIRB0 SIRB0L SOTB0 SOTB0L SIRBE0 SIRBE0L R/W R/W R R R/W R R/W R/W R/W R R R/W R R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
R/W R/W R R R/W R/W R R
8
16 FFH 01H FFH 00H FFH 00H 00H FFH 01H FFH 00H FFH 00H 00H FFH 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 0000H 00H 00H 00H 00H 00H 00H
00H 00H





0000H 00H 0000H 00H 0000H 00H
Preliminary User's Manual U17703EJ1V0UD
69
CHAPTER 3 CPU FUNCTIONS
(8/11)
Address Function Register Name Symbol R/W Operable Bit Unit After Reset 1 FFFFFD08H FFFFFD08H FFFFFD0AH FFFFFD0AH FFFFFD10H FFFFFD11H FFFFFD12H FFFFFD12H FFFFFD14H FFFFFD14H FFFFFD16H FFFFFD16H FFFFFD18H FFFFFD18H FFFFFD1AH FFFFFD1AH FFFFFD40H FFFFFD41H FFFFFD42H FFFFFD43H FFFFFD44H FFFFFD45H FFFFFD46H FFFFFD47H FFFFFD50H FFFFFD51H FFFFFD52H FFFFFD53H FFFFFD54H FFFFFD55H FFFFFD56H FFFFFD57H FFFFFD80H FFFFFD82H FFFFFD83H FFFFFD84H FFFFFD85H FFFFFD86H FFFFFD8AH FFFFFE00H FFFFFE00H FFFFFE01H Clocked serial interface initial transmit buffer register 0 Clocked serial interface initial transmit buffer register 0L Serial I/O shift register 0 Serial I/O shift register 0L Clocked serial interface mode register 01 Clocked serial interface clock selection register 1 Clocked serial interface receive buffer register 1 Clocked serial interface receive buffer register 1L Clocked serial interface transmit buffer register 1 Clocked serial interface transmit buffer register 1L Clocked serial interface read-only receive buffer register 1 Clocked serial interface read-only receive buffer register 1L Clocked serial interface initial transmit buffer register 1 Clocked serial interface initial transmit buffer register 1L Serial I/O shift register 1 Serial I/O shift register 1L Serial operation mode specification register 0 Serial status register 0 Serial trigger register 0 Divisor selection register 0 SOTBF0 SOTBF0L SIO00 SIO00L CSIM01 CSIC1 SIRB1 SIRB1L SOTB1 SOTB1L SIRBE1 SIRBE1L SOTBF1 SOTBF1L SIO01 SIO01L CSIMA0 CSIS0 CSIT0 BRGCA0
R/W R/W R/W R/W R/W R/W R R R/W R/W R R R/W R/W R/W R/W
8
16
0000H 00H

00H 0000H 00H 00H 0000H 00H 0000H 00H 0000H 00H 0000H 00H 00H 0000H
R/W R/W R/W R/W R/W R/W R/W R R/W R/W R/W R/W R/W R/W R/W R R/W R/W R/W R/W R/W R R/W R/W R/W R/W
00H 00H 00H 03H 00H 00H 00H 00H 00H 00H 00H 03H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H Undefined Undefined Undefined
Automatic data transfer address point specification register 0 ADTP0 Automatic data transfer interval specification register 0 Serial I/O shift register A0 Automatic data transfer address count register 0 Serial operation mode specification register 1 Serial status register 1 Serial trigger register 1 Divisor selection register 1 ADTI0 SIOA0 ADTC0 CSIMA1 CSIS1 CSIT1 BRGCA1
Automatic data transfer address point specification register 1 ADTP1 Automatic data transfer interval specification register 1 Serial I/O shift register A1 Automatic data transfer address count register 1 IIC shift register 0 IIC control register 0 Slave address register 0 IIC clock selection register 0 IIC function expansion register 0 IIC status register 0 IIC flag register 0 CSIA0 buffer RAM 0 CSIA0 buffer RAM 0L CSIA0 buffer RAM 0H ADTI1 SIOA1 ADTC1 IIC0 IICC0 SVA0 IICCL0 IICX0 IICS0 IICF0 CSIA0B0 CSIA0B0L CSIA0B0H
70
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(9/11)
Address Function Register Name Symbol R/W Operable Bit Unit After Reset 1 FFFFFE02H FFFFFE02H FFFFFE03H FFFFFE04H FFFFFE04H FFFFFE05H FFFFFE06H FFFFFE06H FFFFFE07H FFFFFE08H FFFFFE08H FFFFFE09H FFFFFE0AH FFFFFE0AH FFFFFE0BH FFFFFE0CH FFFFFE0CH FFFFFE0DH FFFFFE0EH FFFFFE0EH FFFFFE0FH FFFFFE10H FFFFFE10H FFFFFE11H FFFFFE12H FFFFFE12H FFFFFE13H FFFFFE14H FFFFFE14H FFFFFE15H FFFFFE16H FFFFFE16H FFFFFE17H FFFFFE18H FFFFFE18H FFFFFE19H FFFFFE1AH FFFFFE1AH FFFFFE1BH FFFFFE1CH FFFFFE1CH FFFFFE1DH CSIA0 buffer RAM 1 CSIA0 buffer RAM 1L CSIA0 buffer RAM 1H CSIA0 buffer RAM 2 CSIA0 buffer RAM 2L CSIA0 buffer RAM 2H CSIA0 buffer RAM 3 CSIA0 buffer RAM 3L CSIA0 buffer RAM 3H CSIA0 buffer RAM 4 CSIA0 buffer RAM 4L CSIA0 buffer RAM 4H CSIA0 buffer RAM 5 CSIA0 buffer RAM 5L CSIA0 buffer RAM 5H CSIA0 buffer RAM 6 CSIA0 buffer RAM 6L CSIA0 buffer RAM 6H CSIA0 buffer RAM 7 CSIA0 buffer RAM 7L CSIA0 buffer RAM 7H CSIA0 buffer RAM 8 CSIA0 buffer RAM 8L CSIA0 buffer RAM 8H CSIA0 buffer RAM 9 CSIA0 buffer RAM 9L CSIA0 buffer RAM 9H CSIA0 buffer RAM A CSIA0 buffer RAM AL CSIA0 buffer RAM AH CSIA0 buffer RAM B CSIA0 buffer RAM BL CSIA0 buffer RAM BH CSIA0 buffer RAM C CSIA0 buffer RAM CL CSIA0 buffer RAM CH CSIA0 buffer RAM D CSIA0 buffer RAM DL CSIA0 buffer RAM DH CSIA0 buffer RAM E CSIA0 buffer RAM EL CSIA0 buffer RAM EH CSIA0B1 CSIA0B1L CSIA0B1H CSIA0B2 CSIA0B2L CSIA0B2H CSIA0B3 CSIA0B3L CSIA0B3H CSIA0B4 CSIA0B4L CSIA0B4H CSIA0B5 CSIA0B5L CSIA0B5H CSIA0B6 CSIA0B6L CSIA0B6H CSIA0B7 CSIA0B7L CSIA0B7H CSIA0B8 CSIA0B8L CSIA0B8H CSIA0B9 CSIA0B9L CSIA0B9H CSIA0BA CSIA0BAL CSIA0BAH CSIA0BB CSIA0BBL CSIA0BBH CSIA0BC CSIA0BCL CSIA0BCH CSIA0BD CSIA0BDL CSIA0BDH CSIA0BE CSIA0BEL CSIA0BEH R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 8 16 Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined
Preliminary User's Manual U17703EJ1V0UD
71
CHAPTER 3 CPU FUNCTIONS
(10/11)
Address Function Register Name Symbol R/W Operable Bit Unit After Reset 1 FFFFFE1EH FFFFFE1EH FFFFFE1FH FFFFFE20H FFFFFE20H FFFFFE21H FFFFFE22H FFFFFE22H FFFFFE23H FFFFFE24H FFFFFE24H FFFFFE25H FFFFFE26H FFFFFE26H FFFFFE27H FFFFFE28H FFFFFE28H FFFFFE29H FFFFFE2AH FFFFFE2AH FFFFFE2BH FFFFFE2CH FFFFFE2CH FFFFFE2DH FFFFFE2EH FFFFFE2EH FFFFFE2FH FFFFFE30H FFFFFE30H FFFFFE31H FFFFFE32H FFFFFE32H FFFFFE33H FFFFFE34H FFFFFE34H FFFFFE35H FFFFFE36H FFFFFE36H FFFFFE37H FFFFFE38H FFFFFE38H FFFFFE39H CSIA0 buffer RAM F CSIA0 buffer RAM FL CSIA0 buffer RAM FH CSIA1 buffer RAM 0 CSIA1 buffer RAM 0L CSIA1 buffer RAM 0H CSIA1 buffer RAM 1 CSIA1 buffer RAM 1L CSIA1 buffer RAM 1H CSIA1 buffer RAM 2 CSIA1 buffer RAM 2L CSIA1 buffer RAM 2H CSIA1 buffer RAM 3 CSIA1 buffer RAM 3L CSIA1 buffer RAM 3H CSIA1 buffer RAM 4 CSIA1 buffer RAM 4L CSIA1 buffer RAM 4H CSIA1 buffer RAM 5 CSIA1 buffer RAM 5L CSIA1 buffer RAM 5H CSIA1 buffer RAM 6 CSIA1 buffer RAM 6L CSIA1 buffer RAM 6H CSIA1 buffer RAM 7 CSIA1 buffer RAM 7L CSIA1 buffer RAM 7H CSIA1 buffer RAM 8 CSIA1 buffer RAM 8L CSIA1 buffer RAM 8H CSIA1 buffer RAM 9 CSIA1 buffer RAM 9L CSIA1 buffer RAM 9H CSIA1 buffer RAM A CSIA1 buffer RAM AL CSIA1 buffer RAM AH CSIA1 buffer RAM B CSIA1 buffer RAM BL CSIA1 buffer RAM BH CSIA1 buffer RAM C CSIA1 buffer RAM CL CSIA1 buffer RAM CH CSIA0BF CSIA0BFL CSIA0BFH CSIA1B0 CSIA1B0L CSIA1B0H CSIA1B1 CSIA1B1L CSIA1B1H CSIA1B2 CSIA1B2L CSIA1B2H CSIA1B3 CSIA1B3L CSIA1B3H CSIA1B4 CSIA1B4L CSIA1B4H CSIA1B5 CSIA1B5L CSIA1B5H CSIA1B6 CSIA1B6L CSIA1B6H CSIA1B7 CSIA1B7L CSIA1B7H CSIA1B8 CSIA1B8L CSIA1B8H CSIA1B9 CSIA1B9L CSIA1B9H CSIA1BA CSIA1BAL CSIA1BAH CSIA1BB CSIA1BBL CSIA1BBH CSIA1BC CSIA1BCL CSIA1BCH R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 8 16 Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined
72
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(11/11)
Address Function Register Name Symbol R/W Operable Bit Unit After Reset 1 FFFFFE3AH FFFFFE3AH FFFFFE3BH FFFFFE3CH FFFFFE3CH FFFFFE3DH FFFFFE3EH FFFFFE3EH FFFFFE3FH FFFFFF44H FFFFFF44H FFFFFF45H FFFFFF46H FFFFFF48H FFFFFF4AH FFFFFF4CH FFFFFFBEH CSIA1 buffer RAM D CSIA1 buffer RAM DL CSIA1 buffer RAM DH CSIA1 buffer RAM E CSIA1 buffer RAM EL CSIA1 buffer RAM EH CSIA1 buffer RAM F CSIA1 buffer RAM FL CSIA1 buffer RAM FH Pull-up resistor option register DL Pull-up resistor option register DLL Pull-up resistor option register DLH Pull-up resistor option register DH Pull-up resistor option register CS Pull-up resistor option register CT Pull-up resistor option register CM External bus interface mode control register CSIA1BD CSIA1BDL CSIA1BDH CSIA1BE CSIA1BEL CSIA1BEH CSIA1BF CSIA1BFL CSIA1BFH PUDL PUDLL PUDLH PUDH PUCS PUCT PUCM EXIMC R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 8 16 Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined 0000H 00H 00H 00H 00H 00H 00H 00H
Preliminary User's Manual U17703EJ1V0UD
73
CHAPTER 3 CPU FUNCTIONS
3.4.7 Special registers Special registers are registers that prevent invalid data from being written when an inadvertent program loop occurs. The V850ES/KG2 has the following three special registers. * Power save control register (PSC) * Processor clock control register (PCC) * Watchdog timer mode register (WDTM1) Moreover, there is also the PRCMD register, which is a protection register for write operations to the special registers that prevents the application system from unexpectedly stopping due to an inadvertent program loop. Write access to the special registers is performed with a special sequence and illegal store operations are notified to the SYS register. (1) Setting data to special registers Setting data to a special register is done in the following sequence. <1> <2> <3> <4> Disable the DMA operation. Prepare the data to be set to the special register in a general-purpose register. Write the data prepared in step <2> to the PRCMD register. Write the setting data to the special register (using following instructions). * Store instruction (ST/SST instruction) * Bit manipulation instruction (SET1/CLR1/NOT1 instruction) <5> to <9> Insert NOP instructions (5 instructions)Note. <10> Enable the DMA operation if DMA is necessary.
Note When switching to the IDLE mode or the STOP mode (PSC.STP bit = 1), 5 NOP instructions must be inserted immediately after switching is performed. Caution To resume the DMA operation in the status before the DMA operation is disabled after a special sequence, the DCHCn register status must be stored before the DMA operation is disabled. After the DCHCn register status is stored, the DCHCn.TCn bit must be checked before the DMA operation is resumed and the following processing must be executed according to the TCn bit status because the DMA transfer completion may occur before the DMA operation is disabled. * When the TCn bit is 0 (DMA transfer not completed), the contents of the DCHCn register stored before the DMA operation is disabled are written to the DCHCn register again. * When the TCn bit is 1 (DMA transfer completed), the DMA transfer completion processing is executed. Remark n = 0 to 3
74
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
[Description Example] When using PSC register (standby mode setting) ST.B r11, PSMR[r0] ANDI 0xfe, r12, r13 <1> <2> <3> <4> <5> <6> <7> <8> <9> ST.B r13, DCHCn[r0] ; (b) DMA operation stoppedNote 1 MOV 0x02, r10 ST.B r10, PRCMD[r0] ; PRCMD register write ST.B r10, PSC[r0] NOP NOP NOP
Note 2
; PSMR register setting (IDLE, STOP mode setting)
LD.B DCHCn[r0], r12 ; (a) DMA transfer status stored
; PSC register setting ; Dummy instruction ; Dummy instruction ; Dummy instruction ; Dummy instruction ; Dummy instruction ; Check whether DMA transfer is completed or not between (a) and (b) (whether the DCHCn register status is updated or not) ; If updated, DMA transfer completion processing (to next routine)
NOPNote 2
Note 2
NOPNote 2
Note 2
TST1 7, DCHCn[r0] BNE next (next instruction)
<10> ST.B r12, DCHCn[r0] ; If not updated, return to the status of (a) (DMA transfer enable)
No special sequence is required to read special registers. Notes 1. A bit manipulation instruction is not used so as to prevent the DMA transfer completion status flag (DCHCn.TCn bit) from being cleared to 0 via reading. The TCn bit cannot be cleared to 0 by writing 0. 2. When switching to the IDLE mode or the STOP mode (PSC.STP bit = 1), 5 NOP instructions must be inserted immediately after switching is performed. Remark n = 0 to 3
Cautions 1. Interrupts are not acknowledged for the store instruction for the PRCMD register. This is because continuous execution of store instructions by the program in steps <3> and <4> above is assumed. If another instruction is placed between step <3> and <4>, the above sequence may not be realized when an interrupt is acknowledged for that instruction, which may cause malfunction. 2. The data written to the PRCMD register is dummy data, but use the same register as the general-purpose register used for setting data to the special register (step <4>) when writing to the PRCMD register (step <3>). The same applies to when using a generalpurpose register for addressing.
Preliminary User's Manual U17703EJ1V0UD
75
CHAPTER 3 CPU FUNCTIONS
(2) Command register (PRCMD) The PRCMD register is an 8-bit register used to prevent data from being written to registers that may have a large influence on the system, possibly causing the application system to unexpectedly stop, when an inadvertent program loop occurs. Only the first write operation to the special register following the execution of a previously executed write operation to the PRCMD register, is valid. As a result, register values can be overwritten only using a preset sequence, preventing invalid write operations. This register can only be written in 8-bit units (if it is read, an undefined value is returned).
After reset: Undefined 7 PRCMD REG7 6
W
Address: FFFFF1FCH 5 REG5 4 REG4 3 REG3 2 REG2 1 REG1 0 REG0
REG6
76
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(3) System status register (SYS) This register is allocated with status flags showing the operating state of the entire system. This register can be read or written in 8-bit or 1-bit units.
After reset: 00H
R/W
Address: FFFFF802H <>
SYS
0
0
0
0
0
0
0
PRERR
PRERR 0 1
Detection of protection error Protection error has not occurred Protection error has occurred
The operation conditions of the PRERR flag are described below. (a) Set conditions (PRERR = 1) (i) When a write operation to the special register takes place without write operation being performed to the PRCMD register (when step <3> is performed without performing step <2> as described in 3.4.7 (1) Setting data to special registers). (ii) When a write operation (including bit manipulation instruction) to an on-chip peripheral I/O register other than a special register is performed following write to the PRCMD register (when <3> in 3.4.7 (1) Setting data to special registers is not a special register). Remark Regarding the special registers other than the WDTM register (PCC and PSC registers), even if on-chip peripheral I/O register read (except bit manipulation instruction) (internal RAM access, etc.) is performed in between write to the PRCMD register and write to a special register, the PRERR flag is not set and setting data can be written to the special register. (b) Clear conditions (PRERR = 0) (i) When 0 is written to the PRERR flag (ii) When system reset is performed Cautions 1. If 0 is written to the PRERR bit of the SYS register that is not a special register immediately following write to the PRCMD register, the PRERR bit becomes 0 (write priority). 2. If data is written to the PRCMD register that is not a special register immediately following write to the PRCMD register, the PRERR bit becomes 1.
Preliminary User's Manual U17703EJ1V0UD
77
CHAPTER 3 CPU FUNCTIONS
3.4.8 Cautions (1) Waits on register access Be sure to set the following register before using the V850ES/KG2. * System wait control register (VSWC) After setting the VSWC register, set the other registers as required. When using an external bus, set the VSWC register and then set the various pins to the control mode by setting the port-related registers. (a) System wait control register (VSWC) The VSWC register controls the bus access wait time for the on-chip peripheral I/O registers. Access to the on-chip peripheral I/O register lasts 3 clocks (during no wait), but in the V850ES/KG2, waits are required according to the internal system clock frequency. Set the values shown below to the VSWC register according to the internal system clock frequency that is used. This register can be read or written in 8-bit units (Address: FFFFF06EH, After reset: 77H).
Operation Conditions 4.5 V REGC = VDD 5.5 V Internal System Clock Frequency (fCLK) 32 kHz fCLK < 16.6 MHz 16.6 MHz fCLK 20 MHz 4.0 V REGC = VDD < 4.5 V REGC = 10 F, 4.0 V VDD 5.5 V 2.7 V REGC = VDD < 4.0 V 32 kHz fCLK 16 MHz 32 kHz fCLK < 8.3 MHz 8.3 MHz fCLK 16 MHz 32 kHz fCLK < 8.3 MHz 8.3 MHz fCLK 10 MHz 00H 01H 00H 00H 01H 00H 01H 0 (no waits) 1 0 (no waits) 0 (no waits) 1 0 (no waits) 1 VSWC Register Setting Number of Waits
Remark
fX: Main clock oscillation frequency
(b) Access to special on-chip peripheral I/O register This product has two types of internal system buses. One type is for the CPU bus and the other is for the peripheral bus to interface with low-speed peripheral hardware. Since the CPU bus clock and peripheral bus clock are asynchronous, if a conflict occurs during access between the CPU and peripheral hardware, illegal data may be passed unexpectedly. Therefore, when accessing peripheral hardware that may cause a conflict, the number of access cycles is changed so that the data is received/passed correctly in the CPU. As a result, the CPU does not shift to the next instruction processing and enters the wait status. When this wait status occurs, the number of execution clocks of the instruction is increased by the number of wait clocks. Note this with caution when performing real-time processing. When accessing a special on-chip peripheral I/O register, additional waits may be required further to the waits set by the VSWC register. The access conditions at that time and the method to calculate the number of waits to be inserted (number of CPU clocks) are shown below. Number of waits to be inserted = (2 + m) x k (clocks) Number of accesses to specific on-chip peripheral I/O register = 3 + m + (2 + m) x k (clocks)
78
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
Peripheral Function Watchdog timer 1 (WDT1)
Register Name WDTM1 Write
Note
Access 1 to 5
k
>
fX: Main clock oscillation frequency Watchdog timer 2 (WDT2) 16-bit timer/event counter P0 (TMP0) WDTM2 TP0CCR0, TP0CCR1, TP0CNT Note Note
Write Read
3 (fixed) 1
>
Write
Note
0 to 2
>
TMC00 to TMC03
Read-modify-write
1 (fixed) A wait occurs during write
CSIA0B0 to CSIA0BF, CSIA1B0 to CSIA1BF
Write
0 to 18 (when performing continuous write via write instruction)
>
k = {(1/fSCKA) x 5 - (4 + m)/fCPU)}/{((2 + m)/fCPU)} However, 1 wait if fCPU = fXX if the CSISn.CKSAn1 and CSISn.CKSAn0 bits are 00. fSCKA: CSIA selection clock frequency CSIA0B0 to CSIA0BF, CSIA1B0 to CSIA1BF Write 0 to 20 (when conflict occurs between write instruction and write via receive operation) Note
>
k = {((1/fSCKA) x 5)/((2 + m)/fCPU)} fSCKA: CSIA selection clock frequency I C0 Asynchronous serial interfaces 0 to 2 (UART0 to UART2) Real-time output function 0 (RTO0) RTBL0, RTBH0 Write (when RTPC0.RTPOE0 bit = 0) A/D converter ADM, ADS, PFM, PFT ADCR, ADCRH Write Read
Note 2
IICS0 ASIS0 to ASIS2
Read Read
1 (fixed) 1 (fixed)
1
1 or 2 1 or 2
>
Note In the calculation of number of waits, the fractional part of its result must be multiplied by (1/fCPU) and rounded down if (1/fCPU)/(2 + m) or lower, and rounded up if (1/fCPU)/(2 + m) is exceeded.
Preliminary User's Manual U17703EJ1V0UD
79
CHAPTER 3 CPU FUNCTIONS
Cautions 1. If fetched from the internal ROM or internal RAM, the number of waits is as shown above. If fetched from the external memory, the number of waits may be decreased below these. The effect of the external memory access cycles varies depending on the wait settings and the like. However, the number of waits shown above is the maximum value, so no higher value is generated. 2. When the CPU operates on the subclock and no clock is input to the X1 pin, do not access a register in which a wait occurs. If a wait occurs, it can only be released by a reset. Remarks 1. In the calculation for the number of waits:
fCPU: CPU clock frequency
fXX: Main clock frequency m: Set value of bits 2 to 0 of the VSWC register When the VSWC register = 00H: m = 0 When the VSWC register = 01H: m = 1 2. n = 0, 1
80
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 3 CPU FUNCTIONS
(2) Restriction on conflict between sld instruction and interrupt request (a) Description If a conflict occurs between the decode operation of an instruction in <2> immediately before the sld instruction following an instruction in <1> and an interrupt request before the instruction in <1> is complete, the execution result of the instruction in <1> may not be stored in a register. Instruction <1> * ld instruction: * sld instruction: ld.b, ld.h, ld.w, ld.bu, ld.hu sld.b, sld.h, sld.w, sld.bu, sld.hu
* Multiplication instruction: mul, mulh, mulhi, mulu Instruction <2> mov reg1, reg2 satadd reg1, reg2 and reg1, reg2 add reg1, reg2 mulh reg1, reg2 ld.w [r11], r10
* * *
not reg1, reg2 satadd imm5, reg2 tst reg1, reg2 add imm5, reg2 shr imm5, reg2
satsubr reg1, reg2 or reg1, reg2 subr reg1, reg2 cmp reg1, reg2 sar imm5, reg2
satsub reg1, reg2 xor reg1, reg2 sub reg1, reg2 cmp imm5, reg2 shl imm5, reg2
If the decode operation of the mov instruction immediately before the sld instruction and an interrupt request conflict before execution of the ld instruction is complete, the execution result of instruction may not be stored in a register.
mov r10, r28 sld.w 0x28, r10 (b) Countermeasure <1> When compiler (CA850) is used Use CA850 Ver. 2.61 or later because generation of the corresponding instruction sequence can be automatically suppressed. <2> Countermeasure by assembler When executing the sld instruction immediately after instruction , avoid the above operation using either of the following methods. * Insert a nop instruction immediately before the sld instruction. * Do not use the same register as the sld instruction destination register in the above instruction executed immediately before the sld instruction.
Preliminary User's Manual U17703EJ1V0UD
81
CHAPTER 4 PORT FUNCTIONS
4.1 Features
Input-only ports: 8 pins I/O ports: 76 pins * Fixed to N-ch open-drain output: 4 (medium: 2) * Switchable to N-ch open-drain output: 8 Input/output can be specified in 1-bit units
4.2 Basic Port Configuration
The V850ES/KG2 incorporates a total of 84 I/O port pins consisting of ports 0, 1, 3 to 5, 7, 9, CM, CS, CT, DH, and DL (including 8 input-only port pins). The port configuration is shown below.
P00 Port 0 P06 Port 1 P10 P11 P30 Port 3 P39 P40 Port 4 P42 P50 Port 5 P55 P70 Port 7 P717
P90 Port 9 P915 PCM0 Port CM PCM3 PCS0 Port CS PCS1 PCT0 PCT1 PCT4 PCT6 PDH0 Port DH PDH5 PDL0 Port DL PDL15
Port CT
Table 4-1. Pin I/O Buffer Power Supplies of V850ES/KG2
Power Supply AVREF0 AVREF1 BVDD EVDD Port 7 Port 1 Ports CM, CS, CT, DH, DL RESET, ports 0, 3 to 5, 9 Corresponding Pins
82
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
4.3 Port Configuration
Table 4-2. Port Configuration
Item Control registers Configuration Port n register (Pn: n = 0, 1, 3 to 5, 7, 9, CM, CS, CT, DL, DH) Port n mode register (PMn: n = 0, 1, 3 to 5, 9, CM, CS, CT, DL, DH) Port n mode control register (PMCn: n = 0, 3 to 5, 9, CM, CS, CT, DL, DH) Port n function control register (PFCn: n = 3 to 5, 9) Port n function register (PFn: n = 3 to 5, 9) Port 3 function control expansion register (PFCE3) Pull-up resistor option register (PUn: n = 0, 1, 3 to 5, 9, CM, CS, CT, DL, DH) Ports Input only: 8 I/O: 76 Pull-up resistors Software control: 72
(1) Port n register (Pn) Data I/O with external devices is performed by writing to and reading from the Pn register. The Pn register is configured of a port latch that retains the output data and a circuit that reads the pin status. Each bit of the Pn register corresponds to one pin of port n and can be read or written in 1-bit units.
After reset: 00HNote (output latch)
7 6 5
R/W
7 3 2 1 0
Pn
Pn7
Pn6
Pn5
Pn4
Pn3
Pn2
Pn1
Pn0
Pnm 0 1 0 is output 1 is output
Control of output data (in output mode)
Note Input-only port pins are undefined.
Writing to and reading from the Pn register are executed as follows depending on the setting of each register.
Preliminary User's Manual U17703EJ1V0UD
83
CHAPTER 4 PORT FUNCTIONS
Table 4-3. Reading to/Writing from Pn Register
Setting of PMCn Register Port mode (PMCnm bit = 0) Setting of PMn Register Output mode (PMnm bit = 0) Writing to Pn Register Write to the output latch from the pin. Input mode (PMnm bit = 1) Alternate-function mode (PMCnm bit = 1) Output mode (PMnm bit = 0) Write to the output latch
Note Note
Reading from Pn Register The value of the output latch is read.
.
The contents of the output latch are output
.
The pin status is read. * When alternate function is output The output status of the alternate function is read. * When alternate function is input The output latch value is read.
The status of the pin is not affected. Write to the output latch
Note
.
The status of the pin is not affected. The pin operates as an alternate-function pin.
Input mode (PMnm bit = 1)
Write to the output latch
Note
.
The pin status is read.
The status of the pin is not affected. The pin operates as an alternate-function pin.
Note The value written to the output latch is retained until a new value is written to the output latch. (2) Port n mode register (PMn) PMn specifies the input mode/output mode of the port. Each bit of the PMn register corresponds to one pin of port n and can be specified in 1-bit units.
After reset: FFH
R/W
PMn
PMn7
PMn6
PMn5
PMn4
PMn3
PMn2
PMn1
PMn0
PMnm 0 1 Output mode Input mode
Control of I/O mode
84
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(3) Port n mode control register (PMCn) PMCn specifies the port mode/alternate function. Each bit of the PMCn register corresponds to one pin of port n and can be specified in 1-bit units.
After reset: 00H
R/W
PMCn
PMCn7
PMCn6
PMCn5
PMCn4
PMCn3
PMCn2
PMCn1
PMCn0
PMCnm 0 1 Port mode
Specification of operation mode
Alternate function mode
(4) Port n function control register (PFCn) PFCn is a register that specifies the alternate function to be used when one pin has two or more alternate functions. Each bit of the PFCn register corresponds to one pin of port n and can be specified in 1-bit units.
After reset: 00H
R/W
PFCn
PFCn7
PFCn6
PFCn5
PFCn4
PFCn3
PFCn2
PFCn1
PFCn0
PFCnm 0 1 Alternate function 1 Alternate function 2
Specification of alternate function
Preliminary User's Manual U17703EJ1V0UD
85
CHAPTER 4 PORT FUNCTIONS
(5) Port n function control expansion register (PFCEn) PFCEn is a register that specifies the alternate function to be used when one pin has three or more alternate functions. Each bit of the PFCEn register corresponds to one pin of port n and can be specified in 1-bit units.
After reset: 00H
R/W
PFCEn
PFCEn7 PFCEn6
PFCEn5 PFCEn4
PFCEn3 PFCEn2
PFCEn1
PFCEn0
PFCn
PFCn7
PFCn6
PFCn5
PFCn4
PFCn3
PFCn2
PFCn1
PFCn0
PFCEnm 0 0 1 1
PFCnm 0 1 0 1
Specification of alternate function Alternate function 1 Alternate function 2 Alternate function 3 Alternate function 4
(6) Port n function register (PFn) PFn is a register that specifies normal output/N-ch open-drain output. Each bit of the PFn register corresponds to one pin of port n and can be specified in 1-bit units.
After reset: 00H
R/W
PFn
PFn7
PFn6
PFn5
PFn4
PFn3
PFn2
PFn1
PFn0
PFnmNote 0 1
Control of normal output/N-ch open-drain output Normal output (CMOS output) N-ch open-drain output
Note The PFnm bit is valid only when the PMn.PMnm bit is 0 (output mode) regardless of the setting of the PMCn register. When the PMnm bit is 1 (input mode), the set value in the PFn register is invalid. Example <1> When the value of the PFn register is valid PFnm bit = 1 ... N-ch open-drain output is specified. PMnm bit = 0 ... Output mode is specified. PMCnm bit = 0 or 1 <2> When the value of the PFn register is invalid PFnm bit = 0 ... N-ch open-drain output is specified. PMnm bit = 1 ... Input mode is specified. PMCnm bit = 0 or 1
86
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(7) Pull-up resistor option register (PUn) PUn is a register that specifies the connection of an on-chip pull-up resistor. Each bit of the PUn register corresponds to one pin of port n and can be specified in 1-bit units.
After reset: 00H
R/W
PUn
PUn7
PUn6
PUn5
PUn4
PUn3
PUn2
PUn1
PUn0
PUnm 0 1 Not connected Connected
Control of on-chip pull-up resistor connection
Preliminary User's Manual U17703EJ1V0UD
87
CHAPTER 4 PORT FUNCTIONS
(8) Port settings Set the ports as follows. Figure 4-1. Register Settings and Pin Functions
Port mode
Output mode Input mode
"0" PMn register "1"
Alternate function (when two alternate functions are available)
"0" "0" PFCn register PMCn register
Alternate function 1 Alternate function 2
"1"
Alternate function (when three or more alternate functions are available)
"1"
Alternate function 1 Alternate function 2 Alternate function 3
(a) (b) (c) PFCEn register (d) (a) (b) (c) (d) PFCn register PFCEnm 0 0 1 1 PFCnm 0 1 0 1
Alternate function 4
Remark
Switch to the alternate function using the following procedure. <1> Set the PFCn and PFCEn registers. <2> Set the PMCn register. <3> Set the INTRn or INTFn register (to specify an external interrupt pin). If the PMCn register is set first, an unintended function may be set while the PFCn and PFCEn registers are being set.
88
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
4.3.1 Port 0 Port 0 is a 7-bit I/O port for which I/O settings can be controlled in 1-bit units. Port 0 includes the following alternate functions. Table 4-4. Alternate-Function Pins of Port 0
Pin No. GC 6 7 17 18 19 20 21 GF 8 9 19 20 21 22 23 P00 P01 P02 P03 P04 P05 P06 TOH0 TOH1 NMI INTP0 INTP1 INTP2 INTP3 Output Output Input Input Input Input Input Analog/digital noise elimination Analog noise elimination Yes - D0-U D0-U D1-SUIL D1-SUIL D1-SUIL D1-SUIL D1-SUIL Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Caution P02 to P06 have hysteresis characteristics when the alternate function is input, but not in the port mode. Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
Preliminary User's Manual U17703EJ1V0UD
89
CHAPTER 4 PORT FUNCTIONS
(1) Port 0 register (P0)
After reset: 00H (output latch)
R/W
Address: FFFFF400H
P0
0
P06
P05
P04
P03
P02
P01
P00
P0n 0 1 0 is output 1 is output
Control of output data (in output mode) (n = 0 to 6)
(2) Port 0 mode register (PM0)
After reset: FFH
R/W
Address: FFFFF420H
PM0
1
PM06
PM05
PM04
PM03
PM02
PM01
PM00
PM0n 0 1 Output mode Input mode
Control of I/O mode (n = 0 to 6)
90
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(3) Port 0 mode control register (PMC0)
After reset: 00H
R/W
Address: FFFFF440H
PMC0
0
PMC06
PMC05
PMC04
PMC03
PMC02
PMC01
PMC00
PMC06 0 1 PMC05 0 1 PMC04 0 1 PMC03 0 1 PMC02 0 1 PMC01 0 1 PMC00 0 1 I/O port TOH0 output I/O port TOH1 output I/O port NMI input I/O port INTP0 input I/O port INTP1 input I/O port INTP2 input I/O port INTP3 input
Specification of P06 pin operation mode
Specification of P05 pin operation mode
Specification of P04 pin operation mode
Specification of P03 pin operation mode
Specification of P02 pin operation mode
Specification of P01 pin operation mode
Specification of P00 pin operation mode
(4) Pull-up resistor option register 0 (PU0)
After reset: 00H
R/W
Address: FFFFFC40H
PU0
0
PU06
PU05
PU04
PU03
PU02
PU01
PU00
PU0n 0 1
Control of on-chip pull-up resistor connection (n = 0 to 6) Not connected Connected
Preliminary User's Manual U17703EJ1V0UD
91
CHAPTER 4 PORT FUNCTIONS
4.3.2 Port 1 Port 1 is a 2-bit I/O port for which I/O settings can be controlled in 1-bit units. Port 1 includes the following alternate functions. Table 4-5. Alternate-Function Pins of Port 1
Pin No. GC 3 4 GF 5 6 P10 P11 ANO0 ANO1 Output Output Yes - C-UA C-UA Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20) (1) Port 1 register (P1)
After reset: 00H (output latch)
R/W
Address: FFFFF402H
P1
0
0
0
0
0
0
P11
P10
P1n 0 1 0 is output 1 is output
Control of output data (in output mode) (n = 0, 1)
(2) Port 1 mode register (PM1) Caution When used as the ANO0 and ANO1 pins, set PM1 = FFH all together.
After reset: FFH
R/W
Address: FFFFF422H
PM1
1
1
1
1
1
1
PM11
PM10
PM1n 0 1 Output mode Input mode
Control of I/O mode (n = 0, 1)
92
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(3) Pull-up resistor option register 1 (PU1)
After reset: 00H
R/W
Address: FFFFFC42H
PU1
0
0
0
0
0
0
PU11
PU10
PU1n 0 1
Control of on-chip pull-up resistor connection (n = 0, 1) Not connected Connected
Preliminary User's Manual U17703EJ1V0UD
93
CHAPTER 4 PORT FUNCTIONS
4.3.3 Port 3 Port 3 is a 10-bit I/O port for which I/O settings can be controlled in 1-bit units. Port 3 includes the following alternate functions. Table 4-6. Alternate-Function Pins of Port 3
Pin No. GC 25 26 27 28 GF 27 28 29 30 P30 P31 P32 P33 TXD0/TO02 RXD0/INTP7/TO03 ASCK0/ADTRG/TO01 TI000/TO00/TIP00/ TOP00 29 31 P34 TI001/TO00/TIP01/ TOP01 30 31 32 35 36 32 33 34 37 38 P35 P36 P37 P38 P39 SDA0 SCL0 TI010/TO01 - - I/O - - I/O I/O No N-ch open-drain output E10-SUL C-N C-N D2-SNFH D2-SNFH I/O G1010-SUL Output I/O I/O I/O Yes - E00-U E10-SUIHL E10-SUL G1010-SUL Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Caution P31 to P35, P38, and P39 have hysteresis characteristics when the alternate function is input, but not in the port mode. Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
94
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(1) Port 3 register (P3)
After reset: 00H (output latch)
R/W
Address: P3 FFFFF406H, P3L FFFFF406H, P3H FFFFF407H
12 11 10 9 8
15
14
13
P3 (P3HNote)
0
0
0
0
0
0
P39
P38
(P3L)
P37
P36
P35
P34
P33
P32
P31
P30
P3n 0 1 0 is output 1 is output
Control of output data (in output mode) (n = 0 to 9)
Note When reading from or writing to bits 8 to 15 of the P3 register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the P3H register. Remark The P3 register can be read or written in 16-bit units. However, when the higher 8 bits and the lower 8 bits of the P3 register are used as the P3H register and as the P3L register, respectively, this register can be read or written in 8-bit or 1-bit units.
(2) Port 3 mode register (PM3)
After reset: FFFFH
R/W
Address: PM3 FFFFF426H, PM3L FFFFF426H, PM3H FFFFF427H
13 12 11 10 9 8
15
14
PM3 (PM3H
Note
)
1
1
1
1
1
1
PM39
PM38
(PM3L)
PM37
PM36
PM35
PM34
PM33
PM32
PM31
PM30
PM3n 0 1 Output mode Input mode
Control of I/O mode (n = 0 to 9)
Note When reading from or writing to bits 8 to 15 of the PM3 register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the PM3H register. Remark The PM3 register can be read or written in 16-bit units. When the higher 8 bits and the lower 8 bits of the PM3 register are used as the PM3H register and as the PM3L register, respectively, this register can be read or written in 8-bit or 1-bit units.
Preliminary User's Manual U17703EJ1V0UD
95
CHAPTER 4 PORT FUNCTIONS
(3) Port 3 mode control register (PMC3)
After reset: 0000H
R/W
Address: PMC3 FFFFF446H, PMC3L FFFFF446H, PMC3H FFFFF447H
13 12 11 10 9 8
15
14
PMC3 (PMC3HNote)
0
0
0
0
0
0
PMC39
PMC38
(PMC3L)
0
0
PMC35
PMC34
PMC33
PMC32
PMC31
PMC30
PMC39 0 1 PMC38 0 1 PMC35 0 1 PMC34 0 1 PMC33 0 1 PMC32 0 1 PMC31 0 1 PMC30 0 1 I/O port I/O port I/O port I/O port I/O port I/O port I/O port SDA0 I/O I/O port SCL0 I/O
Specification of P39 pin operation mode
Specification of P38 pin operation mode
Specification of P35 pin operation mode
TI010 input/TO01 output Specification of P34 pin operation mode
TI001 input/TO00 output/TIP01 input/TOP01 output Specification of P33 pin operation mode
TI000 input/TO00 output/TIP00 input/TOP00 output Specification of P32 pin operation mode
ASCK0 input/ADTRG input/TO01 output Specification of P31 pin operation mode
RXD0 input/INTP7 input/TO03 output Specification of P30 pin operation mode
TXD0 output/TO02 output
Note When reading from or writing to bits 8 to 15 of the PMC3 register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the PMC3H register. Remark The PMC3 register can be read or written in 16-bit units. When the higher 8 bits and the lower 8 bits of the PMC3 register are used as the PMC3H register and as the PMC3L register, respectively, this register can be read or written in 8-bit or 1-bit units.
96
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(4) Port 3 function register H (PF3H)
After reset: 00H
R/W
Address: FFFFFC67H
PF3H
0
0
0
0
0
0
PF39
PF38
PF3n 0 1
Specification of normal port/alternate function (n = 8, 9) When used as normal port (N-ch open-drain output) When used as alternate-function (N-ch open-drain output)
Caution When using P38 and P39 as N-ch open-drain-output alternate-function pins, set in the following sequence. Be sure to set the port latch to 1 before setting the pin to N-ch open-drain output. P3n bit = 1 PF3n bit = 1 PMC3n bit = 1
(5) Port 3 function control register (PFC3)
After reset: 00H
R/W
Address: FFFFF466H
PFC3
0
0
PFC35
PFC34
PFC33
PFC32
PFC31
PFC30
Remark For details of specification of alternate-function pins, refer to 4.3.3 (7) Specifying alternate-function pins of port 3.
(6) Port 3 function control expansion register (PFCE3)
After reset: 00H
R/W
Address: FFFFF706H
PFCE3
0
0
0
PFCE34
PFCE33
0
0
0
Remark For details of specification of alternate-function pins, refer to 4.3.3 (7) Specifying alternate-function pins of port 3.
Preliminary User's Manual U17703EJ1V0UD
97
CHAPTER 4 PORT FUNCTIONS
(7) Specifying alternate-function pins of port 3
PFC35 0 1 TI010 input TO01 output Specification of Alternate-Function Pin of P35 Pin
PFCE34 0 0 1 1
PFC34 0 1 0 1
Specification of Alternate-Function Pin of P34 Pin TI001 input TO00 output TIP01 input TOP01 output
PFCE33 0 0 1 1
PFC33 0 1 0 1
Specification of Alternate-Function Pin of P33 Pin TI000 input TO00 output TIP00 input TOP00 output
PFC32 0 1
Specification of Alternate-Function Pin of P32 Pin ASCK0/ADTRG TO01 output
Note 1
input
PFC31 0 1
Specification of Alternate-Function Pin of P31 Pin RXD0/INTP7 TO03 output
Note 2
input
PFC30 0 1
Specification of Alternate-Function Pin of P30 Pin TXD0 output TO02 output
Notes 1. The ASCK0 and ADTRG pins are alternate-function pins. When using the pin as the ASCK0 pin, disable the trigger input of the alternate-function ADTRG pin (clear the ADS.TRG bit to 0 or set the ADS.ADTMD bit to 1). When using the pin as the ADTRG pin, do not set the UART0 operation clock to external input (set the CKSR0.TPS03 to CKSR0.TPS00 bits to other than 1011). 2. The INTP7 and RXD0 pins are alternate-function pins. When using the pin as the RXD0 pin, disable edge detection of the alternate-function INTP7 pin (clear the INTF3.INTF31 and INTR3.INTR31 bits to 0). When using the pin as the INTP7 pin, stop the UART0 receive operation (clear the ASIM0.RXE0 bit to 0).
98
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(8) Pull-up resistor option register 3 (PU3)
After reset: 00H
R/W
Address: FFFFFC46H
PU3
0
0
PU35
PU34
PU33
PU32
PU31
PU30
PU3n 0 1
Control of on-chip pull-up resistor connection (n = 0 to 5) Not connected Connected
Preliminary User's Manual U17703EJ1V0UD
99
CHAPTER 4 PORT FUNCTIONS
4.3.4 Port 4 Port 4 is a 3-bit I/O port for which I/O settings can be controlled in 1-bit units. Port 4 includes the following alternate functions. Table 4-7. Alternate-Function Pins of Port 4
Pin No. GC 22 23 24 GF 24 25 26 P40 P41 P42 SI00/RXD2 SO00/TXD2 SCK00 Input Output I/O Yes - N-ch open-drain output can be selected. E11-SULH E00-UF D2-SUFL Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Caution P40 and P42 have hysteresis characteristics when the alternate function is input, but not in the port mode. Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20) (1) Port 4 register (P4)
After reset: 00H (output latch)
R/W
Address: FFFFF408H
P4
0
0
0
0
0
P42
P41
P40
P4n 0 1 0 is output 1 is output
Control of output data (in output mode) (n = 0 to 2)
(2) Port 4 mode register (PM4)
After reset: FFH
R/W
Address: FFFFF428H
PM4
1
1
1
1
1
PM42
PM41
PM40
PM4n 0 1 Output mode Input mode
Control of I/O mode (n = 0 to 2)
100
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(3) Port 4 mode control register (PMC4)
After reset: 00H
R/W
Address: FFFFF448H
PMC4
0
0
0
0
0
PMC42
PMC41
PMC40
PMC42 0 1 PMC41 0 1 PMC40 0 1 I/O port I/O port I/O port SCK00 I/O
Specification of P42 pin operation mode
Specification of P41 pin operation mode
SO00 output/TXD2 output Specification of P40 pin operation mode
SI00 input/RXD2 input
(4) Port 4 function control register (PFC4)
After reset: 00H
R/W
Address: FFFFF468H
PFC4
0
0
0
0
0
0
PFC41
PFC40
PFC41 0 1 PFC40 0 1 SI00 input RXD2 input SO00 output TXD2 output
Specification of alternate-function pin of P41 pin
Specification of alternate-function pin of P40 pin
Preliminary User's Manual U17703EJ1V0UD
101
CHAPTER 4 PORT FUNCTIONS
(5) Port 4 function register (PF4)
After reset: 00H
R/W
Address: FFFFFC68H
PF4
0
0
0
0
0
PF42
PF41
0
PF4n 0 1
Control of normal output/N-ch open-drain output (n = 1, 2) Normal output N-ch open-drain output
Caution When using P41 and P42 as N-ch open-drain-output alternate-function pins, set in the following sequence. Be sure to set the port latch to 1 before setting the pin to N-ch open-drain output. P4n bit = 1 PF4n bit = 1 PMC4n bit = 1
(6) Pull-up resistor option register 4 (PU4)
After reset: 00H
R/W
Address: FFFFFC48H
PU4
0
0
0
0
0
PU42
PU41
PU40
PU4n 0 1
Control of on-chip pull-up resistor connection (n = 0 to 2) Not connected Connected
102
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
4.3.5 Port 5 Port 5 is a 6-bit I/O port for which I/O settings can be controlled in 1-bit units. Port 5 includes the following alternate functions. Table 4-8. Alternate-Function Pins of Port 5
Pin No. GC 37 38 39 40 41 42 GF 39 40 41 42 43 44 P50 P51 P52 P53 P54 P55 TI011/RTP00/KR0 TI50/RTP01/KR1 TO50/RTP02/KR2 SIA0/RTP03/KR3 SOA0/RTP04/KR4 SCKA0/RTP05/KR5 I/O I/O I/O I/O I/O I/O N-ch open-drain output can be selected. Yes - E10-SULT E10-SULT E00-SUT E10-SULT E00-SUFT E20-SUFLT Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20) (1) Port 5 register (P5)
After reset: 00H (output latch)
R/W
Address: FFFFF40AH
P5
0
0
P55
P54
P53
P52
P51
P50
P5n 0 1 0 is output 1 is output
Control of output data (in output mode) (n = 0 to 5)
(2) Port 5 mode register (PM5)
After reset: FFH
R/W
Address: FFFFF42AH
PM5
1
1
PM55
PM54
PM53
PM52
PM51
PM50
PM5n 0 1 Output mode Input mode
Control of I/O mode (n = 0 to 5)
Preliminary User's Manual U17703EJ1V0UD
103
CHAPTER 4 PORT FUNCTIONS
(3) Port 5 mode control register (PMC5)
After reset: 00H
R/W
Address: FFFFF44AH
PMC5
0
0
PMC55
PMC54
PMC53
PMC52
PMC51
PMC50
PMC55 0 1 PMC54 0 1 PMC53 0 1 PMC52 0 1 PMC51 0 1 PMC50 0 1
Specification of P55 pin operation mode I/O port/KR5 input SCKA0 I/O/RTP05 output Specification of P54 pin operation mode I/O port/KR4 input SOA0 output/RTP04 output Specification of P53 pin operation mode I/O port/KR3 input SIA0 input/RTP03 output Specification of P52 pin operation mode I/O port/KR2 input TO50 output/RTP02 output Specification of P51 pin operation mode I/O port/KR1 input TI50 input/RTP01 output Specification of P50 pin operation mode I/O port/KR0 input TI011 input/RTP00 output
(4) Port 5 function register 5 (PF5)
After reset: 00H
R/W
Address: FFFFFC6AH
PF5
0
0
PF55
PF54
0
0
0
0
PF5n 0 1
Control of normal output/N-ch open-drain output (n = 4, 5) Normal output N-ch open-drain output
Cautions 1. Always set bits 0 to 3, 6, and 7 of the PF5 register to 0. 2. When using P54 and P55 as N-ch open-drain-output alternate-function pins, set in the following sequence. Be sure to set the port latch to 1 before setting the pin to N-ch open-drain output. P5n bit = 1 PF5n bit = 1 PMC5n bit = 1
104
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(5) Port 5 function control register (PFC5)
After reset: 00H
R/W
Address: FFFFF46AH
PFC5
0
0
PFC55
PFC54
PFC53
PFC52
PFC51
PFC50
PFC55 0 1 PFC54 0 1 PFC53 0 1 PFC52 0 1 PFC51 0 1 PFC50 0 1 TI011 input TI50 input TO50 output SIA0 input SOA0 output SCKA0 I/O
Specification of alternate-function pin of P55 pin
RTP05 output Specification of alternate-function pin of P54 pin
RTP04 output Specification of alternate-function pin of P53 pin
RTP03 output Specification of alternate-function pin of P52 pin
RTP02 output Specification of alternate-function pin of P51 pin
RTP01 output Specification of alternate-function pin of P50 pin
RTP00 output
(6) Pull-up resistor option register 5 (PU5)
After reset: 00H
R/W
Address: FFFFFC4AH
PU5
0
0
PU55
PU54
PU53
PU52
PU51
PU50
PU5n 0 1
Control of on-chip pull-up resistor connection (n = 0 to 5) Not connected Connected
Preliminary User's Manual U17703EJ1V0UD
105
CHAPTER 4 PORT FUNCTIONS
4.3.6 Port 7 Port 7 is an 8-bit input-only port for which all the pins are fixed to input. Port 7 includes the following alternate functions. Table 4-9. Alternate-Function Pins of Port 7
Pin No. GC 100 99 98 97 96 95 94 93 GF 2 1 100 99 98 97 96 95 P70 P71 P72 P73 P74 P75 P76 P77 ANI0 ANI1 ANI2 ANI3 ANI4 ANI5 ANI6 ANI7 Input Input Input Input Input Input Input Input No - A-A A-A A-A A-A A-A A-A A-A A-A Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20) (1) Port 7 register (P7)
After reset: Undefined
R
Address: FFFFF40EH
P7
P77
P76
P75
P74
P73
P72
P71
P70
P7n 0 1 Input low level Input high level
Input data read (n = 0 to 7)
106
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
4.3.7 Port 9 Port 9 is a 16-bit I/O port for which I/O settings can be controlled in 1-bit units. Port 9 includes the following alternate functions. Table 4-10. Alternate-Function Pins of Port 9
Pin No. GC 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 GF 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 P90 P91 P92 P93 P94 P95 P96 P97 P98 P99 P910 P911 P912 P913 P914 P915 A0/TXD1/KR6 A1/RXD1/KR7 A2/TI020/TO02 A3/TI021 A4/TI030/TO03 A5/TI031 A6/TI51/TO51 A7/SI01 A8/SO01 A9/SCK01 A10/SIA1 A11/SOA1 A12/SCKA1 A13/INTP4 A14/INTP5 A15/INTP6 I/O I/O I/O I/O I/O I/O I/O I/O Output I/O I/O Output I/O I/O I/O I/O N-ch open-drain output can be specified. - N-ch open-drain output can be specified. Analog noise elimination Yes - E00-SUTZ E01-SUHTZ E00-SUTZ E01-SULZ E00-SUTZ E01-SULZ E00-SUTZ E01-SUHTZ E00-UFZ E02-SUFLZ E01-SULZ E00-UFZ E02-SUFLZ E01-SUILZ E01-SUILZ E01-SUILZ Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Caution P93, P95, P97, P99, P910, and P912 to P915 have hysteresis characteristics when the alternate function is input, but not in the port mode. Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
Preliminary User's Manual U17703EJ1V0UD
107
CHAPTER 4 PORT FUNCTIONS
(1) Port 9 register (P9)
After reset: 00H (output latch)
R/W
Address: P9 FFFFF412H, P9L FFFFF412H, P9H FFFFF413H
12 11 10 9 8
15
14
13
P9 (P9HNote)
P915
P914
P913
P912
P911
P910
P99
P98
(P9L)
P97
P96
P95
P94
P93
P92
P91
P90
P9n 0 1 0 is output 1 is output
Control of output data (in output mode) (n = 0 to 15)
Note When reading from or writing to bits 8 to 15 of the P9 register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the P9H register. Remark The P9 register can be read or written in 16-bit units. However, when the higher 8 bits and the lower 8 bits of the P9 register are used as the P9H register and as the P9L register, respectively, these registers can be read or written in 8-bit or 1-bit units.
(2) Port 9 mode register (PM9)
After reset: FFFFH
R/W
Address: PM9 FFFFF432H, PM9L FFFFF432H, PM9H FFFFF433H
13 12 11 10 9 8
15
14
PM9 (PM9H
Note
)
PM915
PM914
PM913
PM912
PM911
PM910
PM99
PM98
(PM9L)
PM97
PM96
PM95
PM94
PM93
PM92
PM91
PM90
PM9n 0 1 Output mode Input mode
Control of I/O mode (n = 0 to 15)
Note When reading from or writing to bits 8 to 15 of the PM9 register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the PM9H register. Remark The PM9 register can be read or written in 16-bit units. However, when the higher 8 bits and the lower 8 bits of the PM9 register are used as the PM9H register and as the PM9L register, respectively, this register can be read or written in 8-bit or 1-bit units.
(3) Port 9 mode control register (PMC9) Caution When using port 9 as the A0 to A15 pins, set the PMC9 register to FFFFH in 16-bit units.
108
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(1/2)
After reset: 0000H R/W Address: PMC9 FFFFF452H, PMC9L FFFFF452H, PMC9H FFFFF453H
15 14 13 12 11 10 9 8
PMC9 (PMC9HNote)
PMC915 PMC914 PMC913 PMC912 PMC911 PMC910
PMC99
PMC98
(PMC9L)
PMC97
PMC96
PMC95
PMC94
PMC93
PMC92
PMC91
PMC90
PMC915 0 1 PMC914 0 1 PMC913 0 1 PMC912 0 1 PMC911 0 1 PMC910 0 1 PMC99 0 1 PMC98 0 1 I/O port I/O port I/O port I/O port I/O port I/O port I/O port I/O port
Specification of P915 pin operation mode
A15 output/INTP6 input Specification of P914 pin operation mode
A14 output/INTP5 input Specification of P913 pin operation mode
A13 output/INTP4 input Specification of P912 pin operation mode
A12 output/SCKA1 I/O Specification of P911 pin operation mode
A11 output/SOA1 output Specification of P910 pin operation mode
A10 output/SIA1 input Specification of P99 pin operation mode
A9 output/SCK01 I/O Specification of P98 pin operation mode
A8 output/SO01 output
Note When reading from or writing to bits 8 to 15 of the PMC9 register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the PMC9H register. Remark The PMC9 register can be read or written in 16-bit units. However, when the higher 8 bits and the lower 8 bits of the PMC9 register are used as the PMC9H register and as the PMC9L register, respectively, these registers can be read or written in 8-bit or 1-bit units.
Preliminary User's Manual U17703EJ1V0UD
109
CHAPTER 4 PORT FUNCTIONS
(2/2)
PMC97 0 1 PMC96 0 1 PMC95 0 1 PMC94 0 1 PMC93 0 1 PMC92 0 1 PMC91 0 1 PMC90 0 1 I/O port A3 output/TI021 input Specification of P92 pin operation mode I/O port/TI020 input A2 output/TO02 output Specification of P91 pin operation mode I/O port/KR7 input A1 output/RXD1 input Specification of P90 pin operation mode I/O port/KR6 input A0 output/TXD1 output I/O port A5 output/TI031 input Specification of P94 pin operation mode I/O port/TI030 input A4 output/TO03 output Specification of P93 pin operation mode I/O port A7 output/SI01 input Specification of P96 pin operation mode I/O port/TI51 input A6 output/TO51 output Specification of P95 pin operation mode Specification of P97 pin operation mode
110
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(4) Port 9 function register H (PF9H)
After reset: 00H
R/W
Address: FFFFFC73H
PF9H
0
0
0
PF912
PF911
0
PF99
PF98
PF9n 0 1
Control of normal output/N-ch open-drain output (n = 0, 1, 3, 4) Normal output N-ch open-drain output
Caution When using P98, P99, P911, and P912 as N-ch open-drain-output alternatefunction pins, set in the following sequence. Be sure to set the port latch to 1 before setting the pin to N-ch open-drain output. P9n bit = 1 PFC9n bit = 0/1 PF9n bit = 1 PMC9n bit = 1
(5) Port 9 function control register (PFC9) Caution When using port 9 as the A0 to A15 pins, set the PFC9 register to 0000H in 16-bit units.
Preliminary User's Manual U17703EJ1V0UD
111
CHAPTER 4 PORT FUNCTIONS
(1/2)
After reset: 0000H R/W Address: PFC9 FFFFF472H, PFC9L FFFFF472H, PFC9H FFFFF473H
13 12 11 10 9 8
15
14
PFC9 (PFC9HNote)
PFC915
PFC914
PFC913 PFC912
PFC911 PFC910
PFC99
PFC98
(PFC9L)
PFC97
PFC96
PFC95
PFC94
PFC93
PFC92
PFC91
PFC90
PFC915 0 1 PFC914 0 1 PFC913 0 1 PFC912 0 1 PFC911 0 1 PFC910 0 1 PFC99 0 1 PFC98 0 1 A8 output A9 output SCK01 I/O A10 output SIA1 input A11 output A12 output SCKA1 I/O A13 output INTP4 input A14 output INTP5 input A15 output INTP6 input
Specification of alternate-function pin of P915 pin
Specification of alternate-function pin of P914 pin
Specification of alternate-function pin of P913 pin
Specification of alternate-function pin of P912 pin
Specification of alternate-function pin of P911 pin
SOA1 output Specification of alternate-function pin of P910 pin
Specification of alternate-function pin of P99 pin
Specification of alternate-function pin of P98 pin
SO01 output
Note When reading from or writing to bits 8 to 15 of the PFC9 register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the PFC9H register. Remark The PFC9 register can be read or written in 16-bit units. However, when the higher 8 bits and the lower 8 bits of the PFC9 register are used as the PFC9H register and as the PFC9L register, respectively, these registers can be read or written in 8-bit or 1-bit units.
112
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(2/2)
PFC97 0 1 PFC96 0 1 PFC95 0 1 PFC94 0 1 PFC93 0 1 PFC92 0 1 PFC91 0 1 PFC90 0 1 A0 output TXD1 output A1 output RXD1 input Specification of alternate-function pin of P90 pin A2 output TO02 output Specification of alternate-function pin of P91 pin A3 output TI021 input Specification of alternate-function pin of P92 pin A4 output TO03 output Specification of alternate-function pin of P93 pin A5 output TI031 input Specification of alternate-function pin of P94 pin A6 output TO51 output Specification of alternate-function pin of P95 pin A7 output SI01 input Specification of alternate-function pin of P96 pin Specification of alternate-function pin of P97 pin
Preliminary User's Manual U17703EJ1V0UD
113
CHAPTER 4 PORT FUNCTIONS
(6) Pull-up resistor option register 9 (PU9)
After reset: 0000H
R/W
Address: PU9 FFFFFC52H, PU9L FFFFFC52H, PU9H FFFFFC53H
13 12 11 10 9 8
15
14
PU9 (PU9H
Note
)
PU915
PU914
PU913
PU912
PU911
PU910
PU99
PU98
(PU9L)
PU97
PU96
PU95
PU94
PU93
PU92
PU91
PU90
PU9n 0 1
Control of on-chip pull-up resistor connection (n = 0 to 15) Not connected Connected
Note When reading from or writing to bits 8 to 15 of the PU9 register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the PU9H register. Remark The PU9 register can be read or written in 16-bit units. However, when the higher 8 bits and the lower 8 bits of the PU9 register are used as the PU9H register and as the PU9L register, respectively, these registers can be read or written in 8-bit or 1-bit units.
114
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
4.3.8 Port CM Port CM is a 4-bit I/O port for which I/O settings can be controlled in 1-bit units. Port CM includes the following alternate functions. Table 4-11. Alternate-Function Pins of Port CM
Pin No. GC 61 62 63 64 GF 63 64 65 66 PCM0 PCM1 PCM2 PCM3 WAIT CLKOUT HLDAK HLDRQ Input Output Output Input Yes - D1-UH D0-U D0-U D1-UH Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20) (1) Port CM register (PCM)
After reset: 00H (output latch)
R/W
Address: FFFFF00CH
PCM
0
0
0
0
PCM3
PCM2
PCM1
PCM0
PCMn 0 1 0 is output 1 is output
Control of output data (in output mode) (n = 0 to 3)
(2) Port CM mode register (PMCM)
After reset: FFH
R/W
Address: FFFFF02CH
PMCM
1
1
1
1
PMCM3
PMCM2
PMCM1
PMCM0
PMCMn 0 1 Output mode Input mode
Control of I/O mode (n = 0 to 3)
Preliminary User's Manual U17703EJ1V0UD
115
CHAPTER 4 PORT FUNCTIONS
(3) Port CM mode control register (PMCCM)
After reset: 00H
R/W
Address: FFFFF04CH
PMCCM
0
0
0
0
PMCCM3 PMCCM2 PMCCM1 PMCCM0
PMCCM3 0 1 PMCCM2 0 1 PMCCM1 0 1 PMCCM0 0 1 I/O port WAIT input I/O port CLKOUT output I/O port HLDAK output I/O port HLDRQ input
Specification of PCM3 pin operation mode
Specification of PCM2 pin operation mode
Specification of PCM1 pin operation mode
Specification of PCM0 pin operation mode
(4) Pull-up resistor option register CM (PUCM)
After reset: 00H
R/W
Address: FFFFFF4CH
PUCM
0
0
0
0
PUCM3
PUCM2
PUCM1
PUCM0
PUCMn 0 1
Control of on-chip pull-up resistor connection (n = 0 to 3) Not connected Connected
116
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
4.3.9 Port CS Port CS is a 2-bit I/O port for which I/O settings can be controlled in 1-bit units. Port CS includes the following alternate functions. Table 4-12. Alternate-Function Pins of Port CS
Pin No. GC 59 60 GF 61 62 PCS0 PCS1 CS0 CS1 Output Output Yes - D0-UZ D0-UZ Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20) (1) Port CS register (PCS)
After reset: 00H (output latch)
R/W
Address: FFFFF008H
PCS
0
0
0
0
0
0
PCS1
PCS0
PCSn 0 1 0 is output 1 is output
Control of output data (in output mode) (n = 0, 1)
(2) Port CS mode register (PMCS)
After reset: FFH
R/W
Address: FFFFF028H
PMCS
0
0
0
0
0
0
PMCS1
PMCS0
PMCSn 0 1 Output mode Input mode
Control of I/O mode (n = 0, 1)
Preliminary User's Manual U17703EJ1V0UD
117
CHAPTER 4 PORT FUNCTIONS
(3) Port CS mode control register (PMCCS)
After reset: 00H
R/W
Address: FFFFF048H
PMCCS
0
0
0
0
0
0
PMCCS1 PMCCS0
PMCCSn 0 1 I/O port
Specification of PCSn pin operation mode (n = 0, 1)
CSn output
(4) Pull-up resistor option register CS (PUCS)
After reset: 00H
R/W
Address: FFFFFF48H
PUCS
0
0
0
0
0
0
PUCS1
PUCS0
PUCSn 0 1
Control of on-chip pull-up resistor connection (n = 0, 1) Not connected Connected
118
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
4.3.10 Port CT Port CT is a 4-bit I/O port for which I/O settings can be controlled in 1-bit units. Port CT includes the following alternate functions. Table 4-13. Alternate-Function Pins of Port CT
Pin No. GC 65 66 67 68 GF 67 68 69 70 PCT0 PCT1 PCT4 PCT6 WR0 WR1 RD ASTB Output Output Output Output Yes - D0-UZ D0-UZ D0-UZ D0-UZ Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20) (1) Port CT register (PCT)
After reset: 00H (output latch)
R/W
Address: FFFFF00AH
PCT
0
PCT6
0
PCT4
0
0
PCT1
PCT0
PCTn 0 1
Control of output data (in output mode) (n = 0, 1, 4, 6) 0 is output 1 is output
(2) Port CT mode register (PMCT)
After reset: FFH
R/W
Address: FFFFF02AH
PMCT
0
PMCT6
0
PMCT4
0
0
PMCT1
PMCT0
PMCTn 0 1 Output mode Input mode
Control of I/O mode (n = 0, 1, 4, 6)
Preliminary User's Manual U17703EJ1V0UD
119
CHAPTER 4 PORT FUNCTIONS
(3) Port CT mode control register (PMCCT)
After reset: 00H
R/W
Address: FFFFF04AH
PMCCT
0
PMCCT6
0
PMCCT4
0
0
PMCCT1 PMCCT0
PMCCT6 0 1 PMCCT4 0 1 PMCCT1 0 1 PMCCT0 0 1 I/O port WR0 output I/O port WR1 output I/O port RD output I/O port ASTB output
Specification of PCT6 pin operation mode
Specification of PCT4 pin operation mode
Specification of PCT1 pin operation mode
Specification of PCT0 pin operation mode
(4) Pull-up resistor option register CT (PUCT)
After reset: 00H
R/W
Address: FFFFFF4AH
PUCT
0
PUCT6
0
PUCT4
0
0
PUCT1
PUCT0
PUCTn 0 1
Control of on-chip pull-up resistor connection (n = 0, 1, 4, 6) Not connected Connected
120
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
4.3.11 Port DH Port DH is a 6-bit I/O port for which I/O settings can be controlled in 1-bit units. Port DH includes the following alternate functions. Table 4-14. Alternate-Function Pins of Port DH
Pin No. GC 87 88 89 90 91 92 GF 89 90 91 92 93 94 PDH0 PDH1 PDH2 PDH3 PDH4 PDH5 A16 A17 A18 A19 A20 A21 Output Output Output Output Output Output Yes - D0-UZ D0-UZ D0-UZ D0-UZ D0-UZ D0-UZ Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20) (1) Port DH register (PDH)
After reset: 00H (output latch)
R/W
Address: FFFFF006H
PDH
0
0
PDH5
PDH4
PDH3
PDH2
PDH1
PDH0
PDHn 0 1 0 is output 1 is output
Control of output data (in output mode) (n = 0 to 5)
(2) Port DH mode register (PMDH)
After reset: FFH
R/W
Address: FFFFF026H
PMDH
1
1
PMDH5
PMDH4
PMDH3
PMDH2
PMDH1
PMDH0
PMDHn 0 1 Output mode Input mode
Control of I/O mode (n = 0 to 5)
Preliminary User's Manual U17703EJ1V0UD
121
CHAPTER 4 PORT FUNCTIONS
(3) Port DH mode control register (PMCDH)
After reset: 00H
R/W
Address: FFFFF046H
PMCDH
0
0
PMCDH5 PMCDH4 PMCDH3 PMCDH2 PMCDH1 PMCDH0
PMCDHn 0 1 I/O port
Specification of PDHn pin operation mode (n = 0 to 5)
Am output (address bus output) (m = 16 to 21)
Caution When specifying the port/alternate function for each bit, pay careful attention to the operation of the alternate functions.
(4) Pull-up resistor option register DH (PUDH)
After reset: 00H
R/W
Address: FFFFFF46H
PUDH
0
0
PUDH5
PUDH4
PUDH3
PUDH2
PUDH1
PUDH0
PUDHn 0 1
Control of on-chip pull-up resistor connection (n = 0 to 5) Not connected Connected
122
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
4.3.12 Port DL Port DL is a 16-bit I/O port for which I/O settings can be controlled in 1-bit units. Port DL includes the following alternate functions. Table 4-15. Alternate-Function Pins of Port DL
Pin No. GC 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 GF 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 PDL0 PDL1 PDL2 PDL3 PDL4 PDL5 PDL6 PDL7 PDL8 PDL9 PDL10 PDL11 PDL12 PDL13 PDL14 PDL15 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD8 AD9 AD10 AD11 AD12 AD13 AD14 AD15 I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O Yes - D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ D2-ULZ Pin Name Alternate Function I/O PULL
Note
Remark
Block Type
Note Software pull-up function Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
Preliminary User's Manual U17703EJ1V0UD
123
CHAPTER 4 PORT FUNCTIONS
(1) Port DL register (PDL)
After reset: 00H (output latch)
R/W
Address: PDL FFFFF004H, PDLL FFFFF004H, PDLH FFFFF005H
12 11 10 9 8
15
14
13
PDL (PDLH
Note
)
PDL15
PDL14
PDL13
PDL12
PDL11
PDL10
PDL9
PDL8
(PDLL)
PDL7
PDL6
PDL5
PDL4
PDL3
PDL2
PDL1
PDL0
PDLn 0 1 0 is output 1 is output
Control of output data (in output mode) (n = 0 to 15)
Note When reading from or writing to bits 8 to 15 of the PDL register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the PDLH register. Remark The PDL register can be read or written in 16-bit units. However, when the higher 8 bits and the lower 8 bits of the PDL register are used as the PDLH register and as the PDLL register, respectively, these registers can be read or written in 8-bit or 1-bit units.
(2) Port DL mode register (PMDL)
After reset: FFFFH
R/W
Address: PMDL FFFFF024H, PMDLL FFFFF024H, PMDLH FFFFF025H
13 12 11 10 9 8
15
14
PMDL (PMDLH
Note
)
PMDL15 PMDL14 PMDL13 PMDL12 PMDL11 PMDL10
PMDL9
PMDL8
(PMDLL)
PMDL7
PMDL6
PMDL5
PMDL4
PMDL3
PMDL2
PMDL1
PMDL0
PMDLn 0 1 Output mode Input mode
Control of I/O mode (n = 0 to 15)
Note When reading from or writing to bits 8 to 15 of the PMDL register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the PMDLH register. Remark The PMDL register can be read or written in 16-bit units. However, when the higher 8 bits and the lower 8 bits of the PMDL register are used as the PMDLH register and as the PMDLL register, respectively, these registers can be read or written in 8-bit or 1-bit units.
124
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
(3) Port DL mode control register (PMCDL)
After reset: 0000H
R/W
Address: PMCDL FFFFF044H, PMCDLL FFFFF044H, PMCDLH FFFFF045H
15
14
13
12
11
10
9
8
PMCDL (PMCDLHNote)
PMCDL15 PMCDL14 PMCDL13 PMCDL12 PMCDL11PMCDL10 PMCDL9 PMCDL8
(PMCDLL)
PMCDL7 PMCDL6 PMCDL5 PMCDL4 PMCDL3 PMCDL2 PMCDL1 PMCDL0
PMCDLn 0 1 I/O port
Specification of PDLn pin operation mode (n = 0 to 15)
ADn I/O (address/data bus I/O)
Note When reading from or writing to bits 8 to 15 of the PMCDL register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the PMCDLH register. Caution When specifying the port/alternate function for each bit, pay careful attention to the operation of the alternate functions. Remark The PMCDL register can be read or written in 16-bit units. However, when the higher 8 bits and the lower 8 bits of the PMCDL register are used as the PMCDLH register and as the PMCDLL register, respectively, these registers can be read or written in 8-bit or 1-bit units.
(4) Pull-up resistor option register DL (PUDL)
After reset: 0000H
R/W
Address: PUDL FFFFFF44H, PUDLL FFFFFF44H, PUDLH FFFFFF45H
13 12 11 10 9 8
15
14
PUDL (PUDLHNote)
PUDL15 PUDL14
PUDL13
PUDL12
PUDL11 PUDL10
PUDL9
PUDL8
(PUDLL)
PUDL7
PUDL6
PUDL5
PUDL4
PUDL3
PUDL2
PUDL1
PUDL0
PUDLn 0 1
Control of on-chip pull-up resistor connection (n = 0 to 15) Not connected Connected
Note When reading from or writing to bits 8 to 15 of the PUDL register in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the PUDLH register. Remark The PUDL register can be read or written in 16-bit units. However, when the higher 8 bits and the lower 8 bits of the PUDL register are used as the PUDLH register and as the PUDLL register, respectively, these registers can be read or written in 8-bit or 1-bit units.
Preliminary User's Manual U17703EJ1V0UD
125
CHAPTER 4 PORT FUNCTIONS
4.4 Block Diagrams
Figure 4-2. Block Diagram of Type A-A
Internal bus
Pmn
RD A/D input signal
P-ch N-ch
Figure 4-3. Block Diagram of Type C-N
WRPM
PMmn WRPORT Output latch (Pmn) N-ch Pmn
Internal bus
EVSS EVDD
Selector
Selector
P-ch Medium-voltage input buffer
Address
RD
126
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
Figure 4-4. Block Diagram of Type C-UA
AVREF1 WRPU
PUmn WRPM
P-ch
PMmn WRPORT
Internal bus
Output latch (Pmn)
Pmn
Selector
Address
RD
DAM.DACEn bit D/A output signal
Selector
P-ch N-ch
Preliminary User's Manual U17703EJ1V0UD
127
CHAPTER 4 PORT FUNCTIONS
Figure 4-5. Block Diagram of Type D0-U
EVDDNote WRPU
PUmn WRPMC
P-ch
PMCmn WRPM
Internal bus
PMmn
Selector
WRPORT
Output signal of alternate-function 1 Output latch (Pmn)
Pmn
Selector
Address
RD
Note BVDD in the case of PCM1 and PCM2
128
Preliminary User's Manual U17703EJ1V0UD
Selector
CHAPTER 4 PORT FUNCTIONS
Figure 4-6. Block Diagram of Type D0-UZ
BVDD WRPU
PUmn WRPMC
P-ch
Output buffer off signal PMCmn
WRPM
Internal bus
PMmn Output signal of alternate-function 1
Selector
WRPORT
Output latch (Pmn)
Pmn
Selector
Address
RD
Remark
Output buffer off signal: Signal that is asserted in the IDLE or STOP mode, or when the bus is held.
Selector
Preliminary User's Manual U17703EJ1V0UD
129
CHAPTER 4 PORT FUNCTIONS
Figure 4-7. Block Diagram of Type D1-SUIL
EVDD WRPU
PUmn WRINTR
P-ch
INTRmnNote 1 WRINTF
INTFmnNote 1 WRPMC
Internal bus
PMCmn WRPM
PMmn
WRPORT
Output latch (Pmn)
Pmn
Selector
Selector
Note 2
Address
RD Input signal of alternate-function 1 Detection of noise elimination edge
Notes 1. Refer to 21.4 External Interrupt Request Input Pins (NMI, INTP0 to INTP7). 2. There are no hysteresis characteristics in the port mode.
130
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
Figure 4-8. Block Diagram of Type D1-UH
BVDD WRPU
PUmn WRPMC
P-ch
PMCmn WRPM
Internal bus
PMmn
WRPORT Output latch (Pmn)
Pmn
Selector
Address
RD
Input signal of alternate-function 1
Selector
Preliminary User's Manual U17703EJ1V0UD
131
CHAPTER 4 PORT FUNCTIONS
Figure 4-9. Block Diagram of Type D2-SNFH
WRPF
PFmn WRPMC
PMCmn WRPM
Internal bus
PMmn Pmn
Selector
WRPORT
Output signal of alternate-function 1 Output latch (Pmn)
N-ch
EVSS
Selector
Selector
Note
Address
RD
Input signal of alternate-function 1
Note There are no hysteresis characteristics in the port mode.
132
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
Figure 4-10. Block Diagram of Type D2-SUFL
EVDD WRPU
PUmn WRPF
P-ch
PFmn
WRPMC
Output enable signal of alternate-function 1
PMCmn WRPM
Internal bus
PMmn
EVDD
WRPORT
Selector
Output signal of alternate-function 1 Output latch (Pmn)
P-ch Pmn N-ch
Selector
Selector
Note
EVSS
Address
RD
Input signal of alternate-function 1
Note There are no hysteresis characteristics in the port mode.
Preliminary User's Manual U17703EJ1V0UD
133
CHAPTER 4 PORT FUNCTIONS
Figure 4-11. Block Diagram of Type D2-ULZ
BVDD WRPU
PUmn Output buffer off signal WRPMC Output enable signal of alternate-function 1
P-ch
PMCmn WRPM
Internal bus
PMmn
Selector
WRPORT
Output signal of alternate-function 1 Output latch (Pmn)
Pmn
Selector
Address Input enable signal of alternate-function 1
RD
Input signal of alternate-function 1
Remark
Output buffer off signal: Signal that is asserted in the IDLE or STOP mode, or when the bus is held.
134
Preliminary User's Manual U17703EJ1V0UD
Selector
CHAPTER 4 PORT FUNCTIONS
Figure 4-12. Block Diagram of Type E00-SUFT
EVDD WRPU
PUmn WRPF
P-ch
PFmn WRPFC
PFCmn WRPMC
PMCmn
Internal bus
WRPM
PMmn EVDD Output signal of alternate-function 2 WRPORT Output signal of alternate-function 1 Output latch (Pmn)
Selector
Selector
P-ch Pmn N-ch
Selector
Selector
EVSS
RD Address
Alternate-function input signal in port mode
Preliminary User's Manual U17703EJ1V0UD
135
CHAPTER 4 PORT FUNCTIONS
Figure 4-13. Block Diagram of Type E00-SUT
EVDD WRPU
PUmn WRPFC
P-ch
PFCmn WRPMC
PMCmn WRPM
Internal bus
PMmn
Selector
WRPORT
Selector
Output signal of alternate-function 2 Output signal of alternate-function 1
Pmn
Output latch (Pmn)
Selector
RD Address
Alternate-function input signal in port mode
136
Preliminary User's Manual U17703EJ1V0UD
Selector
CHAPTER 4 PORT FUNCTIONS
Figure 4-14. Block Diagram of Type E00-SUTZ
EVDD WRPU
PUmn Output buffer off signal WRPFC
P-ch
PFCmn WRPMC
PMCmn Internal bus WRPM PMmn Output signal of alternate-function 2 Output signal of WRPORT alternate-function 1 Output latch (Pmn)
Selector
Selector
Pmn
Selector
RD Address
Alternate-function input signal in port mode
Remark
Output buffer off signal: Signal that is asserted in the IDLE or STOP mode, or when the bus is held.
Selector
Preliminary User's Manual U17703EJ1V0UD
137
CHAPTER 4 PORT FUNCTIONS
Figure 4-15. Block Diagram of Type E00-U
EVDD WRPU
PUmn WRPFC
P-ch
PFCmn WRPMC
PMCmn WRPM
Internal bus
PMmn Output signal of alternate-function 2 Output signal of alternate-function 1 Output latch (Pmn)
Selector
WRPORT
Selector
Pmn
Address
RD
138
Selector
Preliminary User's Manual U17703EJ1V0UD
Selector
CHAPTER 4 PORT FUNCTIONS
Figure 4-16. Block Diagram of Type E00-UF
EVDD WRPU
PUmn WRPF
P-ch
PFmn WRPFC
PFCmn WRPMC
PMCmn WRPM
Internal bus
PMmn EVDD
Selector
Output signal of alternate-function 2 WRPORT Output signal of alternate-function 1 Output latch (Pmn)
Selector
P-ch Pmn N-ch
Selector
Selector
EVSS
Address
RD
Preliminary User's Manual U17703EJ1V0UD
139
CHAPTER 4 PORT FUNCTIONS
Figure 4-17. Block Diagram of Type E00-UFZ
EVDD WRPU
PUmn WRPF
P-ch
PFmn WRPFC Output buffer off signal PFCmn WRPMC
PMCmn WRPM
Internal bus
PMmn EVDD
Selector
WRPORT
Output signal of alternate-function 1 Output latch (Pmn)
Selector
Output signal of alternate-function 2
P-ch Pmn N-ch
Selector
Selector
EVSS
Address
RD
Remark
Output buffer off signal: Signal that is asserted in the IDLE or STOP mode, or when the bus is held.
140
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
Figure 4-18. Block Diagram of Type E01-SUHTZ
EVDD WRPU
PUmn
P-ch
WRPFC
Output buffer off signal
PFCmn WRPMC
PMCmn
Internal bus
WRPM
PMmn WRPORT Output signal of alternate-function 1 Output latch (Pmn)
Selector
Pmn
Selector
RD Address Input signal of alternate-function 2 Alternate-function input signal in port mode
Remark
Output buffer off signal: Signal that is asserted in the IDLE or STOP mode, or when the bus is held.
Selector
Preliminary User's Manual U17703EJ1V0UD
141
CHAPTER 4 PORT FUNCTIONS
Figure 4-19. Block Diagram of Type E01-SUILZ
EVDD WRPU
PUmn WRINTR
P-ch
INTRmnNote 1 WRINTF
INTFmnNote 1
WRPFC
Output buffer off signal
PFCmn
Internal bus
WRPMC
PMCmn WRPM
PMmn
Selector
WRPORT
Output signal of alternate-function 1 Output latch (Pmn)
Pmn
Selector
Selector
Note 2
Address
RD
Input signal of alternate-function 2
Detection of noise elimination edge
Notes 1. Refer to 21.4 External Interrupt Request Input Pins (NMI, INTP0 to INTP7). 2. There are no hysteresis characteristics in the port mode. Remark Output buffer off signal: Signal that is asserted in the IDLE or STOP mode, or when the bus is held.
142
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
Figure 4-20. Block Diagram of Type E01-SULZ
EVDD WRPU
PUmn
P-ch
WRPFC
Output buffer off signal
PFCmn WRPMC
PMCmn
Internal bus
WRPM
PMmn WRPORT Output signal of alternate-function 1 Output latch (Pmn)
Selector
Pmn
Selector
Selector
Note
RD Address Input signal of alternate-function 2
Note There are no hysteresis characteristics in the port mode. Remark Output buffer off signal: Signal that is asserted in the IDLE or STOP mode, or when the bus is held.
Preliminary User's Manual U17703EJ1V0UD
143
CHAPTER 4 PORT FUNCTIONS
Figure 4-21. Block Diagram of Type E02-SUFLZ
EVDD WRPU
PUmn WRPF
P-ch
PFmn
Output buffer off signal Output enable signal of alternate-function 2
WRPFC
PFCmn WRPMC
Internal bus
PMCmn WRPM
PMmn EVDD Output signal of alternate-function 2 WRPORT Output signal of alternate-function 1 Output latch (Pmn)
Selector
Selector
P-ch Pmn N-ch
Selector
EVSS
Selector
Note
Address
RD
Input signal of alternate-function 2
Note There are no hysteresis characteristics in the port mode. Remark Output buffer off signal: Signal that is asserted in the IDLE or STOP mode, or when the bus is held.
144
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
Figure 4-22. Block Diagram of Type E10-SUIHL
EVDD WRPU
PUmn WRINTR
P-ch
INTRmnNote WRINTF
INTFmnNote WRPFC
PFCmn WRPMC
Internal bus
PMCmn WRPM
PMmn
Selector
WRPORT
Output signal of alternate-function 2 Output latch (Pmn)
Pmn
Selector
Selector
Note
Address
RD
Input signal of alternate-function 1-2 Input signal of alternate-function 1-1
Detection of noise elimination edge
Note There are no hysteresis characteristics in the port mode. Remark Alternate-function 1-1: RXD0 pin Alternate-function 1-2: INTP7 pin
Preliminary User's Manual U17703EJ1V0UD
145
CHAPTER 4 PORT FUNCTIONS
Figure 4-23. Block Diagram of Type E10-SUL
EVDD WRPU
PUmn WRPFC
P-ch
PFCmn WRPMC
PMCmn WRPM
Internal bus
PMmn
WRPORT
Selector
Output signal of alternate-function 2 Output latch (Pmn)
Pmn
Selector
Selector
Note
Address
RD Input signal of alternate-function 1
Note There are no hysteresis characteristics in the port mode.
146
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
Figure 4-24. Block Diagram of Type E10-SULT
EVDD WRPU
PUmn WRPFC
P-ch
PFCmn WRPMC
PMCmn WRPM
Internal bus
PMmn
Selector
Output signal of WRPORT alternate-function 2
Pmn
Output latch (Pmn)
Selector
RD Address
Input signal of alternate-function 1 Alternate-function input signal in port mode
Selector
Preliminary User's Manual U17703EJ1V0UD
147
CHAPTER 4 PORT FUNCTIONS
Figure 4-25. Block Diagram of Type E11-SULH
EVDD WRPU
PUmn WRPFC
P-ch
PFCmn WRPMC
Internal bus
PMCmn WRPM
PMmn WRPORT
Output latch (Pmn)
Pmn
Selector
Selector
Note
Address
RD Input signal of alternate-function 1
Input signal of alternate-function 2
Note There are no hysteresis characteristics in the port mode.
148
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
Figure 4-26. Block Diagram of Type E20-SUFLT
EVDD WRPU
PUmn WRPF
P-ch
PFmn WRPFC
PFCmn
WRPMC Output enable signal of alternate-function 1
Internal bus
PMCmn WRPM
PMmn EVDD
Selector
Output signal of WRPORT alternate-function 2 Output signal of alternate-function 1 Output latch (Pmn)
Selector
P-ch Pmn N-ch
Selector
Selector
EVSS
RD Address
Input signal of alternate-function 1 Alternate-function input signal in port mode
Preliminary User's Manual U17703EJ1V0UD
149
CHAPTER 4 PORT FUNCTIONS
Figure 4-27. Block Diagram of Type G1010-SUL
EVDD WRPU
PUmn WRPFCE
P-ch
PFCEmn WRPFC
PFCmn WRPMC
PMCmn
Internal bus
WRPM
PMmn Output signal of alternate-function 4 WRPORT Output signal of alternate-function 2 Output latch (Pmn)
Selector
Selector
Pmn
Selector
Selector
Note
Address
RD Input signal of alternate-function 1 Input signal of alternate-function 3
Note There are no hysteresis characteristics in the port mode.
150
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
4.5 Port Register Setting When Alternate Function Is Used
Table 4-16 shows the port register settings when each port is used for an alternate function. When using a port pin as an alternate-function pin, refer to description of each pin.
Preliminary User's Manual U17703EJ1V0UD
151
152
Pin Name Alternate Function Function Name P00 P01 P02 P03 P04 P05 P06 P10 P11 P30
Preliminary User's Manual U17703EJ1V0UD
Table 4-16. Settings When Port Pins Are Used for Alternate Functions (1/6)
Pnx Bit of Pn Register PMnx Bit of PMn Register PMCnx Bit of PMCn Register P00 = Setting not required P01 = Setting not required P02 = Setting not required P03 = Setting not required P04 = Setting not required P05 = Setting not required P06 = Setting not required P10 = Setting not required P11 = Setting not required P30 = Setting not required P30 = Setting not required P31 = Setting not required P31 = Setting not required P31 = Setting not required P32 = Setting not required P32 = Setting not required P32 = Setting not required PM00 = Setting not required PM01 = Setting not required PM02 = Setting not required PM03 = Setting not required PM04 = Setting not required PM05 = Setting not required PM06 = Setting not required PM1 register = FFH PM1 register = FFH
Note 1
PFCEnx Bit of PFCEn Register - - - - - - - - - - - - - - - - -
PFCnx Bit of PFCn Other Bits (Registers) Register - - - PFC03 = 0 - - - - - PFC30 = 0 PFC30 = 1 Note 2, PFC31 = 0 Note 2, PFC31 = 0 PFC31 = 1 Note 3, PFC32 = 0 Note 3, PFC32 = 0 PFC32 = 1 - - - - - - - CHAPTER 4 PORT FUNCTIONS - - - - - - - - - -
I/O Output Output Input Input Input Input Input Output Output Output Output Input Input Output Input Input Output
TOH0 TOH1 NMI INTP0 INTP1 INTP2 INTP3 ANO0 ANO1 TXD0 TO02
PMC00 = 1 PMC01 = 1 PMC02 = 1 PMC03 = 1 PMC04 = 1 PMC05 = 1 PMC06 = 1 - - PMC30 = 1 PMC30 = 1 PMC31 = 1 PMC31 = 1 PMC31 = 1 PMC32 = 1 PMC32 = 1 PMC32 = 1
Note 1
PM30 = Setting not required PM30 = Setting not required PM31 = Setting not required PM31 = Setting not required PM31 = Setting not required PM32 = Setting not required PM32 = Setting not required PM32 = Setting not required
P31
RXD0 INTP7 TO03
P32
ASCK0 ADTRG TO01
Notes 1. 2. 3.
When using the P10 and P11 pins as an alternate function (ANO0 and ANO1 pins), set the PM1 register to FFH. The INTP7 and RXD0 pins are alternate-function pins. When using the pin as the RXD0 pin, disable edge detection of the alternate-function INTP7 pin (clear the INTF3.INTF31 and INTR3.INTR31 bits to 0). When using the pin as the INTP7 pin, stop the UART0 receive operation (clear the ASIM0.RXE0 bit to 0). The ASCK0 and ADTRG pins are alternate-function pins. When using the pin as the ASCK0 pin, disable the trigger input of the alternate-function ADTRG pin (clear the ADS.TRG bit to 0 or set the ADS.ADTMD bit to 1). When using the pin as the ADTRG pin, do not set the UART0 operation clock to external input (set the CKSR0.TPS03 to CKSR0.TPS00 bits to other than 1011).
Table 4-16. Settings When Port Pins Are Used for Alternate Functions (2/6)
Pin Name Alternate Function Function Name P33 TI000 TO00 TIP00 TOP00 P34 TI001 TO00
Preliminary User's Manual U17703EJ1V0UD
Pnx Bit of Pn Register
PMnx Bit of PMn Register
PMCnx Bit of
PFCEnx Bit of
PFCnx Bit of
Other Bits (Registers)
I/O Input Output Input Output Input Output Input Output Input Output I/O I/O Input Input Output Output I/O P33 = Setting not required P33 = Setting not required P33 = Setting not required P33 = Setting not required P34 = Setting not required P34 = Setting not required P34 = Setting not required P34 = Setting not required P35 = Setting not required P35 = Setting not required P38 = Setting not required P39 = Setting not required P40 = Setting not required P40 = Setting not required P41 = Setting not required P41 = Setting not required P42 = Setting not required PM33 = Setting not required PM33 = Setting not required PM33 = Setting not required PM33 = Setting not required PM34 = Setting not required PM34 = Setting not required PM34 = Setting not required PM34 = Setting not required PM35 = Setting not required PM35 = Setting not required PM38 = Setting not required PM39 = Setting not required PM40 = Setting not required PM40 = Setting not required PM41 = Setting not required PM41 = Setting not required PM42 = Setting not required
PMCn Register PFCEn Register PFCn Register PMC33 = 1 PMC33 = 1 PMC33 = 1 PMC33 = 1 PMC34 = 1 PMC34 = 1 PMC34 = 1 PMC34 = 1 PMC35 = 1 PMC35 = 1 PMC38 = 1 PMC39 = 1 PMC40 = 1 PMC40 = 1 PMC41 = 1 PMC41 = 1 PMC42 = 1 PFCE33 = 0 PFCE33 = 0 PFCE33 = 1 PFCE33 = 1 PFCE34 = 0 PFCE34 = 0 PFCE34 = 1 PFCE34 = 1 - - - - - - - - - PFC33 = 0 PFC33 = 1 PFC33 = 0 PFC33 = 1 PFC34 = 0 PFC34 = 1 PFC34 = 0 PFC34 = 1 PFC35 = 0 PFC35 = 1 - - PFC40 = 0 PFC40 = 1 PFC41 = 0 PFC41 = 1 - - - - - - - - - - - PF38 (PF3H) = 1 PF39 (PF3H) = 1 - - PF41 (PF4) = Don't care PF41 (PF4) = 0 PF42 (PF4) = Don't care CHAPTER 4 PORT FUNCTIONS
TIP10 TOP10 P35 TI010 TO01 P38 P39 P40 SDA0 SCL0 SI00 RXD2 P41 SO00 TXD2 P42 SCK00
153
154
Pin Name Alternate Function Function Name P50 TI011 RTP00 KR0 P51 TI50 RTP01 KR1 P52
Preliminary User's Manual U17703EJ1V0UD
Table 4-16. Settings When Port Pins Are Used for Alternate Functions (3/6)
Pnx Bit of Pn Register PMnx Bit of PMn Register PMCnx Bit of PMCn Register P50 = Setting not required PM50 = Setting not required P50 = Setting not required PM50 = Setting not required P50 = Setting not required PM50 = 1 P51 = Setting not required PM51 = Setting not required P51 = Setting not required PM51 = Setting not required P51 = Setting not required PM51 = 1 P52 = Setting not required PM52 = Setting not required P52 = Setting not required PM52 = Setting not required P52 = Setting not required PM52 = 1 P53 = Setting not required PM53 = Setting not required P53 = Setting not required PM53 = Setting not required P53 = Setting not required PM53 = 1 P54 = Setting not required PM54 = Setting not required P54 = Setting not required PM54 = Setting not required P54 = Setting not required PM54 = 1 P55 = Setting not required PM55 = Setting not required P55 = Setting not required PM55 = Setting not required P55 = Setting not required PM55 = 1 P70 = Setting not required P71 = Setting not required P72 = Setting not required P73 = Setting not required P74 = Setting not required P75 = Setting not required P76 = Setting not required P77 = Setting not required - - - - - - - - PMC50 = 1 PMC50 = 1 PMC50 = 0 PMC51 = 1 PMC51 = 1 PMC51 = 0 PMC52 = 1 PMC52 = 1 PMC52 = 0 PMC53 = 1 PMC53 = 1 PMC53 = 0 PMC54 = 1 PMC54 = 1 PMC54 = 0 PMC55 = 1 PMC55 = 1 PMC55 = 0 - - - - - - - - PFC50 = 0 PFC50 = 1 PFC50 = Setting not required KRM0 (KRM) = 1 PFC51 = 0 PFC51 = 1 PFC51 = Setting not required KRM1 (KRM) = 1 PFC52 = 0 PFC52 = 1 PFC52 = Setting not required KRM2 (KRM) = 1 PFC53 = 0 PFC53 = 1 - - - CHAPTER 4 PORT FUNCTIONS - - - - - PFCnx Bit of PFCn Register Other Bits (Registers)
I/O Input Output Input Input Output Input Output Output Input Input Output Input Output Output Input I/O Output Input Input Input Input Input Input Input Input Input
TO50 RTP02 KR2
P53
SIA0 RTP03 KR3
PFC53 = Setting not required KRM3 (KRM) = 1 PFC54 = 0 PFC54 = 1 PF54 (PF5) = Don't care PF54 (PF5) = 0
P54
SOA0 RTP04 KR4
PFC54 = Setting not required PF54 (PF5) = 0, KRM4 (KRM) = 1 PFC55 = 0 PFC55 = 1 PF55 (PF5) = Don't care PF55 (PF5) = 0
P55
SCKA0 RTP05 KR5
PFC55 = Setting not required PF55 (PF5) = 0, KRM5 (KRM) = 1 - - - - - - - - - - - - - - - -
P70 P71 P72 P73 P74 P75 P76 P77
ANI0 ANI1 ANI2 ANI3 ANI4 ANI5 ANI6 ANI7
Table 4-16. Settings When Port Pins Are Used for Alternate Functions (4/6)
Pin Name Alternate Function Function Name P90 A0 TXD1 KR6 P91 A1 RXD1 KR7 P92
Preliminary User's Manual U17703EJ1V0UD
Pnx Bit of Pn Register
PMnx Bit of PMn Register
PMCnx Bit of PMCn Register
PFCnx Bit of PFCn Register PFCn Register PFC90 = 0 PFC90 = 1 Note
Other Bits (Registers)
I/O Output Output Input Output Input Input Output Input Output Output Input Output Input Output Output Input Output Input Output Output Input Output Output Output I/O P90 = Setting not required PM90 = Setting not required P90 = Setting not required PM90 = Setting not required P90 = Setting not required PM90 = 1 P91 = Setting not required PM91 = Setting not required P91 = Setting not required PM91 = Setting not required P91 = Setting not required PM91 = 1 P92 = Setting not required PM92 = Setting not required P92 = Setting not required PM92 = 1 P92 = Setting not required PM92 = Setting not required P93 = Setting not required PM93 = Setting not required P93 = Setting not required PM93 = Setting not required P94 = Setting not required PM94 = Setting not required P94 = Setting not required PM94 = 1 P94 = Setting not required PM94 = Setting not required P95 = Setting not required PM95 = Setting not required P95 = Setting not required PM95 = Setting not required P96 = Setting not required PM96 = Setting not required P96 = Setting not required PM96 = 1 P96 = Setting not required PM96 = Setting not required P97 = Setting not required PM97 = Setting not required P97 = Setting not required PM97 = Setting not required P98 = Setting not required PM98 = Setting not required P98 = Setting not required PM98 = Setting not required P99 = Setting not required PM99 = Setting not required P99 = Setting not required PM99 = Setting not required
PMC90 = 1 PMC90 = 1 PMC90 = 0 PMC91 = 1 PMC91 = 1 PMC91 = 0 PMC92 = 1 PMC92 = 0 PMC92 = 1 PMC93 = 1 PMC93 = 1 PMC94 = 1 PMC94 = 0 PMC94 = 1 PMC95 = 1 PMC95 = 1 PMC96 = 1 PMC96 = 0 PMC96 = 1 PMC97 = 1 PMC97 = 1 PMC98 = 1 PMC98 = 1 PMC99 = 1 PMC99 = 1
-
PFC90 = Setting not required KRM6 (KRM) = 1 PFC91 = 0 PFC91 = 1 Note -
PFC91 = Setting not required KRM7 (KRM) = 1 PFC92 = 0 PFC92 = Setting not required PFC92 = 1 PFC93 = 0 PFC93 = 1 PFC94 = 0 PFC94 = Setting not required PFC94 = 1 PFC95 = 0 PFC95 = 1 PFC96 = 0 PFC96 = Setting not required PFC96 = 1 PFC97 = 0 PFC97 = 1 PFC98 = 0 PFC98 = 1 PFC99 = 0 PFC99 = 1 Note - Note, PF98 (PF9) = 0 PF98 (PF9) = Don't care Note, PF99 (PF9) = 0 PF99 (PF9) = Don't care Note - - Note - Note - - Note - Note - - CHAPTER 4 PORT FUNCTIONS
A2 TI020 TO02
P93
A3 TI021
P94
A4 TI030 TO03
P95
A5 TI031
P96
A6 TI51 TO51
P97
A7 SI01
P98
A8 SO01
P99
A9 SCK01
155
Note When setting the A0 to A15 pins, set the PFC9 register to 0000H and the PMC9 register to FFFFH in 16-bit units.
156
Pin Name Alternate Function Function Name P910 A10 SIA1 P911 A11 SOA1 P912 A12 SCKA1 P913
Preliminary User's Manual U17703EJ1V0UD
Table 4-16. Settings When Port Pins Are Used for Alternate Functions (5/6)
Pnx Bit of Pn Register PMnx Bit of PMn Register PMCnx Bit of PFCnx Bit of Other Bits (Registers)
I/O Output Input Output Output Output I/O Output Input Output Input Output Input Input Output Output Input Output Output Output Output Output Output P910 = Setting not required P910 = Setting not required P911 = Setting not required P911 = Setting not required P912 = Setting not required P912 = Setting not required P913 = Setting not required P913 = Setting not required P914 = Setting not required P914 = Setting not required P915 = Setting not required P915 = Setting not required PCM0 = Setting not required PCM1 = Setting not required PCM2 = Setting not required PCM3 = Setting not required PCS0 = Setting not required PCS1 = Setting not required PCT0 = Setting not required PCT1 = Setting not required PCT4 = Setting not required PCT6 = Setting not required PM910 = Setting not required PM910 = Setting not required PM911 = Setting not required PM911 = Setting not required PM912 = Setting not required PM912 = Setting not required PM913 = Setting not required PM913 = Setting not required PM914 = Setting not required PM914 = Setting not required PM915 = Setting not required PM915 = Setting not required PMCM0 = Setting not required PMCM1 = Setting not required PMCM2 = Setting not required PMCM3 = Setting not required PMCS0 = Setting not required PMCS1 = Setting not required PMCT0 = Setting not required PMCT1 = Setting not required PMCT4 = Setting not required PMCT6 = Setting not required
PMCn Register PFCn Register PMC910 = 1 PMC910 = 1 PMC911 = 1 PMC911 = 1 PMC912 = 1 PMC912 = 1 PMC913 = 1 PMC913 = 1 PMC914 = 1 PMC914 = 1 PMC915 = 1 PMC915 = 1 PMCCM0 = 1 PMCCM1 = 1 PMCCM2 = 1 PMCCM3 = 1 PMCCS0 = 1 PMCCS1 = 1 PMCCT0 = 1 PMCCT1 = 1 PMCCT4 = 1 PMCCT6 = 1 PFC910 = 0 PFC910 = 1 PFC911 = 0 PFC911 = 1 PFC912 = 0 PFC912 = 1 PFC913 = 0 PFC913 = 1 PFC914 = 0 PFC914 = 1 PFC915 = 0 PFC915 = 1 - - - - - - - - - - Note - - - - - - - - - - - Note - Note - Note, PF911 (PF9) = 0 PF911 (PF9) = Don't care Note, PF912 (PF9) = 0 PF912 (PF9) = Don't care Note CHAPTER 4 PORT FUNCTIONS -
A13 INTP4
P914
A14 INTP5
P915
A15 INTP6
PCM0 PCM1 PCM2 PCM3 PCS0 PCS1 PCT0 PCT1 PCT4 PCT6
WAIT CLKOUT HLDAK HLDRQ CS0 CS1 WR0 WR1 RD ASTB
Note When setting the A0 to A15 pins, set the PFC9 register to 0000H and the PMC9 register to FFFFH in 16-bit units.
Table 4-16. Settings When Port Pins Are Used for Alternate Functions (6/6)
Pin Name Alternate Function Function Name PDH0 PDH1 PDH2 PDH3 PDH4 PDH5 PDL0 PDL1 PDL2 PDL3 PDL4 PDL5 PDL6 PDL7 PDL8 PDL9 PDL10 PDL11 PDL12 PDL13 PDL14 PDL15
Preliminary User's Manual U17703EJ1V0UD
Pnx Bit of Pn Register
PMnx Bit of PMn Register
PMCnx Bit of
PFCnx Bit of
Other Bits (Registers)
I/O Output Output Output Output Output Output I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O PDH0 = Setting not required PDH1 = Setting not required PDH2 = Setting not required PDH3 = Setting not required PDH4 = Setting not required PDH5 = Setting not required PDL0 = Setting not required PDL1 = Setting not required PDL2 = Setting not required PDL3 = Setting not required PDL4 = Setting not required PDL5 = Setting not required PDL6 = Setting not required PDL7 = Setting not required PDL8 = Setting not required PDL9 = Setting not required PDL10 = Setting not required PDL11 = Setting not required PDL12 = Setting not required PDL13 = Setting not required PDL14 = Setting not required PDL15 = Setting not required PMDH0 = Setting not required PMDH1 = Setting not required PMDH2 = Setting not required PMDH3 = Setting not required PMDH4 = Setting not required PMDH5 = Setting not required PMDL0 = Setting not required PMDL1 = Setting not required PMDL2 = Setting not required PMDL3 = Setting not required PMDL4 = Setting not required PMDL5 = Setting not required PMDL6 = Setting not required PMDL7 = Setting not required PMDL8 = Setting not required PMDL9 = Setting not required
PMCn Register PFCn Register PMCDH0 = 1 PMCDH1 = 1 PMCDH2 = 1 PMCDH3 = 1 PMCDH4 = 1 PMCDH5 = 1 PMCDL0 = 1 PMCDL1 = 1 PMCDL2 = 1 PMCDL3 = 1 PMCDL4 = 1 PMCDL5 = 1 PMCDL6 = 1 PMCDL7 = 1 PMCDL8 = 1 PMCDL9 = 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CHAPTER 4 PORT FUNCTIONS - - - - - - - - - - - - - - -
A16 A17 A18 A19 A20 A21 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD8 AD9 AD10 AD11 AD12 AD13 AD14 AD15
PMDL10 = Setting not required PMCDL10 = 1 PMDL11 = Setting not required PMCDL11 = 1 PMDL12 = Setting not required PMCDL12 = 1 PMDL13 = Setting not required PMCDL13 = 1 PMDL14 = Setting not required PMCDL14 = 1 PMDL15 = Setting not required PMCDL15 = 1
157
CHAPTER 4 PORT FUNCTIONS
4.6 Cautions
4.6.1 Cautions on bit manipulation instruction for port n register (Pn) When a 1-bit manipulation instruction is executed on a port that provides both input and output functions, the value of the output latch of an input port that is not subject to manipulation may be written in addition to the targeted bit. Therefore, it is recommended to rewrite the output latch when switching a port from input mode to output mode. When P90 is an output port, P91 to P97 are input ports (all pin statuses are high level), and the value of the port latch is 00H, if the output of output port P90 is changed from low level to high level via a bit manipulation instruction, the value of the port latch is FFH. Explanation: The targets of writing to and reading from the Pn register of a port whose PMnm bit is 1 are the output latch and pin status, respectively. A bit manipulation instruction is executed in the following order in the V850ES/KG2. <1> The Pn register is read in 8-bit units. <2> The targeted one bit is manipulated. <3> The Pn register is written in 8-bit units. In step <1>, the value of the output latch (0) of P90, which is an output port, is read, while the pin statuses of P91 to P97, which are input ports, are read. If the pin statuses of P91 to P97 are high level at this time, the read value is FEH. The value is changed to FFH by the manipulation in <2>. FFH is written to the output latch by the manipulation in <3>. Figure 4-28. Bit Manipulation Instruction (P90)
P90 Low-level output P91 to P97 Pin status: High level Port 9L latch 0 0 0 0 0 0 0 0
Bit manipulation instruction (set1 0, P9L[r0]) is executed for P90 bit.
P90 Low-level output P91 to P97 Pin status: High level Port 9L latch 1 1 1 1 1 1 1 1
Bit manipulation instruction for P90 bit <1> The P9L register is read in 8-bit units. * In the case of P90, an output port, the value of the port latch (0) is read. * In the case of P91 to P97, input ports, the pin status (1) is read. <2> Set P90 bit to 1. <3> Write the results of <2> to the output latch of the P9L register in 8-bit units.
158
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 4 PORT FUNCTIONS
4.6.2 Hysteresis characteristics In port mode, the following ports do not have hysteresis characteristics. P02 to P06 P31 to P35, P38, P39 P40, P42 P93, P95, P97, P99, P910, P912 to P915
Preliminary User's Manual U17703EJ1V0UD
159
CHAPTER 5 BUS CONTROL FUNCTION
The V850ES/KG2 is provided with an external bus interface function by which external memories such as ROM and RAM, and I/O can be connected.
5.1 Features
16-bit data bus Output is selectable from a multiplex bus with a minimum of 3 bus cycles and a separate bus with a minimum of 2 bus cycles Chip select function for up to 2 spaces 8-bit/16-bit data bus selectable (for each area selected by chip select function) Wait function * Programmable wait function of up to 7 states (selectable for each area selected by chip select function) * External wait function using WAIT pin Idle state function Bus hold function The bus can be controlled using a different voltage from the operating voltage by setting BVDD VDD = EVDD (however, only in multiplex bus mode). Can be connected to the external device with port alternate-function pins. Misalign access possible
160
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
5.2 Bus Control Pins
The pins used to connect an external device are listed in the table below. Table 5-1. Bus Control Pins (When Multiplex Bus Selected)
Bus Control Pin Alternate-Function Pin I/O Function Register to Switch Between Port Mode/ Alternate-Function Mode AD0 to AD15 A16 to A21 WAIT CLKOUT CS0, CS1 WR0, WR1 RD ASTB HLDRQ HLDAK PDL0 to PDL15 PDH0 to PDH5 PCM0 PCM1 PCS0, PCS1 PCT0, PCT1 PCT4 PCT6 PCM3 PCM2 I/O Output Input Output Output Output Output Output Input Output Address/data bus Address bus External wait control Internal system clock output Chip select Write strobe signal Read strobe signal Address strobe signal Bus hold control PMCDL register PMCDH register PMCCM register PMCCM register PMCCS register PMCCT register PMCCT register PMCCT register PMCCM register
Table 5-2. Bus Control Pins (When Separate Bus Selected)
Bus Control Pin Alternate-Function Pin I/O Function Register to Switch Between Port Mode/ Alternate-Function Mode AD0 to AD15 A0 to A15 A16 to A21 WAIT CLKOUT CS0, CS1 WR0, WR1 RD HLDRQ HLDAK PDL0 to PDL15 P90 to P915 PDH0 to PDH5 PCM0 PCM1 PCS0, PCS1 PCT0, PCT1 PCT4 PCM3 PCM2 I/O Output Output Input Output Output Output Output Input Output Data bus Address bus Address bus External wait control Internal system clock output Chip select Write strobe signal Read strobe signal Bus hold control PMCDL register PMC9 register PMCDH register PMCCM register PMCCM register PMCCS register PMCCT register PMCCT register PMCCM register
Preliminary User's Manual U17703EJ1V0UD
161
CHAPTER 5 BUS CONTROL FUNCTION
5.2.1 Pin status when internal ROM, internal RAM, or on-chip peripheral I/O is accessed When the internal ROM, internal RAM, or on-chip peripheral I/O are accessed, the status of each pin is as follows. Table 5-3. Pin Statuses When Internal ROM, Internal RAM, or On-Chip Peripheral I/O Is Accessed
Separate Bus Mode Address bus (A21 to A0) Data bus (AD15 to AD0) Control signal Undefined Hi-Z Inactive Multiplex Bus Mode Address bus (A21 to A16) Address/data bus (AD15 to AD0) Control signal Undefined Undefined Inactive
Caution When a write access is performed to the internal ROM area, address, data, and control signals are activated in the same way as access to the external memory area. 5.2.2 Pin status in each operation mode For the pin status of the V850ES/KG2 in each operation mode, refer to 2.2 Pin Status.
162
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
5.3 Memory Block Function
The 64 MB memory space is divided into chip select areas of (lower) 2 MB and 2 MB. The programmable wait function and bus cycle operation mode for each of these chip select areas can be independently controlled. Figure 5-1. Data Memory Map: Physical Address
3FFFFFFH (80 KB) 3FEC000H 3FEBFFFH
On-chip peripheral I/O area (4 KB)
3FFFFFFH 3FFF000H 3FFEFFFH
Internal RAM area (16 KBNote 1)
3FFB000H 3FFAFFFH Access-prohibited area 3FEC000H
Access-prohibited area
0400000H 03FFFFFH 0200000H 01FFFFFH 0000000H External memory area (2 MB) CS1 External memory area (1 MB) Internal ROM areaNote 2 (1 MB)
01FFFFFH
0100000H 00FFFFFH 0000000H
(2 MB)
CS0
Notes 1. PD70F3731: 6 KB (3FFB000H to 3FFC7FFH) 2. This area is an external memory area in the case of a data write access.
Preliminary User's Manual U17703EJ1V0UD
163
CHAPTER 5 BUS CONTROL FUNCTION
5.3.1 Chip select control function Of the 64 MB (linear) address space, the lower 4 MB (0000000H to 03FFFFFH) include two chip select control functions, CS0 and CS1. The areas that can be selected by CS0 and CS1 are fixed. By using these chip select control functions, the memory space can be used effectively. The allocation of the chip select areas is shown in the table below.
CS0 CS1 0000000H to 01FFFFFH (2 MB) 0200000H to 03FFFFFH (2 MB)
5.4 External Bus Interface Mode Control Function
The V850ES/KG2 includes the following two external bus interface modes. * Multiplex bus mode * Separate bus mode These two modes can be selected by using the EXIMC register. (1) External bus interface mode control register (EXIMC) This register can be read or written in 8-bit or 1-bit units. Reset sets EXIMC to 00H.
After reset: 00H
R/W
Address: FFFFFFBEH
EXIMC
0
0
0
0
0
0
0
SMSEL
SMSEL 0 1 Multiplex bus mode Separate bus mode
Mode selection
Caution Set the EXIMC register from the internal ROM or internal RAM area before external access. After setting the EXIMC register, be sure to set a NOP instruction.
164
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
5.5 Bus Access
5.5.1 Number of clocks for access The following table shows the number of basic clocks required for accessing each resource.
Area (Bus Width) Bus Cycle Type Instruction fetch (normal access) Instruction fetch (branch) Operand data access Internal ROM (32 Bits) 1 2 3 Internal RAM (32 Bits) 1 2
Note 1
External Memory (16 Bits) 3+n 3+ n
Note 2
On-Chip Peripheral I/O (16 Bits) - - 3
Note 3
Note 1
Note 2
1
3 +n
Note 2
Notes 1. If the access conflicts with a data access, the number of clock is increased by 1. 2. Value when the multiplexed bus is selected. 2 + n clocks (n: Number of wait states) when the separate bus mode is selected. 3. This value varies depending on the setting of the VSWC register. Remark Unit: Clocks/access
5.5.2 Bus size setting function The bus size of each external memory area selected by CSn can be set to 8 bits or 16 bits by using the BSC register. The external memory area of the V850ES/KG2 is selected by CS0 and CS1. (1) Bus size configuration register (BSC) This register can be read or written in 16-bit units. Reset sets BSC to 5555H. Caution Write to the BSC register after reset, and then do not change the set values. Also, do not access an external memory area until the initial settings of the BSC register are complete.
After reset: 5555H
15
R/W
14
Address: FFFFF066H
13 12 11 10 9 8
BSC
0
7
1
6
0
5
1
4
0
3
1
2
0
1
1
0
0 CSn signal BSn0 0 1
0/1
Note
0
0/1
Note
0
BS10 CS1
0
BS00 CS0
Data bus width of CSn space (n = 0, 1) 8 bits 16 bits
Note Changing the value does not affect the operation. Caution Be sure to set bits 14, 12, 10, and 8 to "1", and clear bits 15, 13, 11, 9, 7, 5, 3, and 1 to "0".
Preliminary User's Manual U17703EJ1V0UD
165
CHAPTER 5 BUS CONTROL FUNCTION
5.5.3 Access by bus size The V850ES/KG2 accesses the on-chip peripheral I/O and external memory in 8-bit, 16-bit, or 32-bit units. The bus size is as follows. * The bus size of the on-chip peripheral I/O is fixed to 16 bits. * The bus size of the external memory is selectable from 8 bits or 16 bits (by using the BSC register). The operation when each of the above is accessed is described below. All data is accessed starting from the lower side. The V850ES/KG2 supports only the little endian format. Figure 5-2. Little Endian Address in Word
31 000BH 0007H 0003H
24 23 000AH 0006H 0002H
16 15 0009H 0005H 0001H
87 0008H 0004H 0000H
0
(1) Data space The V850ES/KG2 has an address misalign function. With this function, data can be placed at all addresses, regardless of the format of the data (word data or halfword data). However, if the word data or halfword data is not aligned at the boundary, a bus cycle is generated at least twice, causing the bus efficiency to drop. (a) Halfword-length data access A byte-length bus cycle is generated twice if the least significant bit of the address is 1. (b) Word-length data access (i) A byte-length bus cycle, halfword-length bus cycle, and byte-length bus cycle are generated in that order if the least significant bit of the address is 1. (ii) A halfword-length bus cycle is generated twice if the lower 2 bits of the address are 10.
166
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
(2) Byte access (8 bits) (a) 16-bit data bus width <1> Access to even address (2n)
Address 15
15 2n + 1
<2> Access to odd address (2n + 1)
Address
7
8 7 2n
7
8 7
0 Byte data
0 External data bus
0 Byte data
0 External data bus
(b) 8-bit data bus width <1> Access to even address (2n)
Address 7 7 2n 0 Byte data 0 External data bus
<2> Access to odd address (2n + 1)
Address 7 7 2n + 1 0 Byte data 0 External data bus
Preliminary User's Manual U17703EJ1V0UD
167
CHAPTER 5 BUS CONTROL FUNCTION
(3) Halfword access (16 bits) (a) With 16-bit data bus width <1> Access to even address (2n) <2> Access to odd address (2n + 1) First access
Address 15 15 2n + 1 8 7 8 7 2n 0 Halfword data 0 External data bus
0 Halfword data 0 External data bus 8 7 8 7 2n 0 Halfword data 0 External data bus 15 15 2n + 1 8 7 8 7 2n + 2 Address 15 15
Second access
Address
(b) 8-bit data bus width <1> Access to even address (2n) First access
15 8 7 Address
15 8 7 Address
<2> Access to odd address (2n + 1) First access
15 8 7 0 Halfword data Address 7 2n + 1 0 External data bus 0 Halfword data 0 External data bus 15 8 7 Address 7 2n + 2
Second access
Second access
7
2n
7
2n + 1
0
Halfword data
0
External data bus
0
Halfword data
0
External data bus
168
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
(4) Word access (32 bits) (a) 16-bit data bus width (1/2) <1> Access to address (4n) First access
31 31
Second access
24 23 Address 15 4n + 1 8 7 8 7 4n 0 Word data 0 External data bus
24 23 Address 15 4n + 3 8 7 8 7 4n + 2 0 Word data 0 External data bus
16 15
16 15
<2> Access to address (4n + 1) First access
31 31
Second access
31
Third access
24 23 Address 15 4n + 1 8 7 8 7
24 23 Address 15 4n + 3 8 7 8 7 4n + 2
24 23 Address 15
16 15
16 15
16 15
8 7
8 7 4n + 4
0 Word data
0 External data bus
0 Word data
0 External data bus
0 Word data
0 External data bus
Preliminary User's Manual U17703EJ1V0UD
169
CHAPTER 5 BUS CONTROL FUNCTION
(a) 16-bit data bus width (2/2) <3> Access to address (4n + 2) First access
31 31
Second access
24 23 Address 15 4n + 3 8 7 8 7 4n + 2 0 Word data 0 External data bus
24 23 Address 15 4n + 5 8 7 8 7 4n + 4 0 Word data 0 External data bus
16 15
16 15
<4> Access to address (4n + 3) First access
31 31
Second access
31
Third access
24 23 Address 15 4n + 3 8 7 8 7
24 23 Address 15 4n + 5 8 7 8 7 4n + 4
24 23 Address 15
16 15
16 15
16 15
8 7
8 7 4n + 6
0 Word data
0 External data bus
0 Word data
0 External data bus
0 Word data
0 External data bus
170
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
(b) 8-bit data bus width (1/2) <1> Access to address (4n) First access
31 24 23 16 15 8 7 0 Word data Address 7 4n 0 External data bus 0 Word data 0 External data bus 31 24 23 16 15 8 7 Address 7 4n + 1 0 Word data 0 External data bus
Second access
31 24 23 16 15 8 7
Third access
31 24 23 16 15 Address 7 4n + 2 8 7
Fourth access
Address 7 4n + 3 0 External data bus
0 Word data
<2> Access to address (4n + 1) First access
31 24 23 16 15 8 7 0 Word data Address 4n + 1 0 External data bus 0 Word data 0 External data bus 31 24 23 16 15 8 7 Address 4n + 2 0 Word data 0 External data bus
Second access
31 24 23 16 15 8 7
Third access
31 24 23 16 15 Address 4n + 3 0 8 7
Fourth access
7
7
7
7 0
Address 4n + 4
Word data
External data bus
Preliminary User's Manual U17703EJ1V0UD
171
CHAPTER 5 BUS CONTROL FUNCTION
(b) 8-bit data bus width (2/2) <3> Access to address (4n + 2) First access
31 24 23 16 15 8 7 0 Word data Address 7 4n + 2 0 External data bus 0 Word data 0 External data bus 31 24 23 16 15 8 7 Address 7 4n + 3 0 Word data 0 External data bus
Second access
31 24 23 16 15 8 7
Third access
31 24 23 16 15 Address 7 4n + 4 8 7
Fourth access
Address 7 4n + 5 0 External data bus
0 Word data
<4> Access to address (4n + 3) First access
31 24 23 16 15 8 7 0 Word data Address 7 4n + 3 0 External data bus 0 Word data 0 External data bus 31 24 23 16 15 8 7 Address 7 4n + 4 0 Word data 0 External data bus
Second access
31 24 23 16 15 8 7
Third access
31 24 23 16 15 Address 7 4n + 5 0 8 7
Fourth access
Address 7 4n + 6 0 External data bus
Word data
172
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
5.6 Wait Function
5.6.1 Programmable wait function (1) Data wait control register 0 (DWC0) To realize interfacing with a low-speed memory or I/O, up to seven data wait states can be inserted in the bus cycle that is executed for each CS space. The number of wait states can be programmed by using the DWC0 register. Immediately after system reset, 7 data wait states are inserted for all the chip select areas. The DWC0 register can be read or written in 16-bit units. Reset sets DWC0 to 7777H. Cautions 1. The internal ROM and internal RAM areas are not subject to programmable wait, and are always accessed without a wait state. The on-chip peripheral I/O area is also not subject to programmable wait, and only wait control from each peripheral function is performed. 2. Write to the DWC0 register after reset, and then do not change the set values. Also, do not access an external memory area until the initial settings of the DWC0 register are complete.
After reset: 7777H
15
R/W
14
Address: FFFFF484H
13 12 11 10 9 8
DWC0
0
7
0/1
Note
0/1
Note
0/1
Note
0
3
0/1
Note
0/1
Note
0/1Note
0
6
5
4
2
1
0 CSn signal DWn2 0 0 0 0 1 1 1 1
DW12
DW11 CS1
DW10
0
DW02
DW01 CS0
DW00
DWn1 0 0 1 1 0 0 1 1
DWn0 0 1 0 1 0 1 0 1
Number of wait states inserted in CSn space (n = 0, 1) None 1 2 3 4 5 6 7
Note Changing the value does not affect the operation. Caution Be sure to clear bits 15, 11, 7, and 3 to "0".
Preliminary User's Manual U17703EJ1V0UD
173
CHAPTER 5 BUS CONTROL FUNCTION
5.6.2 External wait function To synchronize an extremely slow memory, I/O, or asynchronous system, any number of wait states can be inserted in the bus cycle by using the external wait pin (WAIT). Access to each area of the internal ROM, internal RAM, and on-chip peripheral I/O is not subject to control by the external wait function, in the same manner as the programmable wait function. The WAIT signal can be input asynchronously to CLKOUT, and is sampled at the falling edge of the clock in the T2 and TW states of the bus cycle in the multiplex bus mode. In the separate bus mode, it is sampled at the rising edge of the clock immediately after the T1 and TW states of the bus cycle. If the setup/hold time of the sampling timing is not satisfied, a wait state is inserted in the next state, or not inserted at all.
174
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
5.6.3 Relationship between programmable wait and external wait Wait cycles are inserted as the result of an OR operation between the wait cycles specified by the set value of the programmable wait and the wait cycles controlled by the WAIT pin.
Programmable wait Wait control Wait via WAIT pin
For example, if the timing of the programmable wait and the WAIT pin signal is as illustrated below, three wait states will be inserted in the bus cycle. Figure 5-3. Example of Inserting Wait States
(a) In separate bus mode
T1 TW TW TW T2
CLKOUT WAIT pin
Wait via WAIT pin
Programmable wait
Wait control
Remark
The circles indicate the sampling timing. (b) In multiplex bus mode
T1 CLKOUT WAIT pin Wait via WAIT pin Programmable wait Wait control
T2
TW
TW
TW
T3
Remark
The circles indicate the sampling timing.
Preliminary User's Manual U17703EJ1V0UD
175
CHAPTER 5 BUS CONTROL FUNCTION
5.6.4 Programmable address wait function Address-setup or address-hold waits to be inserted in each bus cycle can be set by using the AWC register. Address wait insertion is set for each chip select area (CS0 and CS1). If an address setup wait is inserted, it seems that the high-clock period of T1 state is extended by 1 clock. If an address hold wait is inserted, it seems that the low-clock period of T1 state is extended by 1 clock. (1) Address wait control register (AWC) This register can be read or written in 16-bit units. Reset sets AWC to FFFFH. Cautions 1. The internal ROM, internal RAM, and on-chip peripheral I/O areas are not subject to address setup wait or address hold wait insertion. 2. Write the AWC register after reset, and then do not change the set values. Also, do not access an external memory area until the initial settings of the AWC register are complete.
After reset: FFFFH
15
R/W
14
Address: FFFFF488H
13 12 11 10 9 8
AWC
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
0/1 CSn signal
Note
0/1
Note
0/1
Note
0/1
Note
AHW1
ASW1 CS1
AHW0
ASW0 CS0
AHWn 0 1
Specifies insertion of address hold wait (n = 0, 1) Not inserted Inserted
ASWn 0 1
Specifies insertion of address setup wait (n = 0, 1) Not inserted Inserted
Note Changing the value does not affect the operation. Caution Be sure to set bits 15 to 8 to 1.
176
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
5.7 Idle State Insertion Function
To facilitate interfacing with low-speed memories, one idle state (TI) can be inserted after the T3 state in the bus cycle that is executed for each space selected by CSn in the multiplex address/data bus mode. In the separate bus mode, one idle state (TI) can be inserted after the T2 state. By inserting idle states, the data output float delay time of the memory can be secured during read access (an idle state cannot be inserted during write access). Whether the idle state is to be inserted can be programmed by using the BCC register. An idle state is inserted for all the areas immediately after system reset. (1) Bus cycle control register (BCC) This register can be read or written in 16-bit units. Reset sets BCC to AAAAH. Cautions 1. The internal ROM, internal RAM, and on-chip peripheral I/O areas are not subject to idle state insertion. 2. Write to the BCC register after reset, and then do not change the set values. Also, do not access an external memory area until the initial settings of the BCC register are complete.
After reset: AAAAH
15 14
R/W
Address: FFFFF48AH
13 12 11 10 9 8
BCC
1
7
0
6
1
5
0
4
1
3
0
2
1
1
0
0
0/1 CSn signal
Note
0
0/1
Note
0
BC11 CS1
0
BC01 CS0
0
BCn1 0 1 Not inserted Inserted
Specifies insertion of idle state (n = 0, 1)
Note Changing the value does not affect the operation. Caution Be sure to set bits 15, 13, 11, and 9 to "1", and clear bits 14, 12, 10, 8, 6, 4, 2, and 0 to "0".
Preliminary User's Manual U17703EJ1V0UD
177
CHAPTER 5 BUS CONTROL FUNCTION
5.8 Bus Hold Function
5.8.1 Functional outline The HLDRQ and HLDAK functions are valid if the PCM2 and PCM3 pins are set to their alternate functions. When the HLDRQ pin is asserted (low level), indicating that another bus master has requested bus mastership, the external address/data bus goes into a high-impedance state and is released (bus hold status). If the request for the bus mastership is cleared and the HLDRQ pin is deasserted (high level), driving these pins is started again. During the bus hold period, execution of the program in the internal ROM and internal RAM is continued until a peripheral I/O register or the external memory is accessed. The bus hold status is indicated by assertion (low level) of the HLDAK pin. The bus hold function enables the configuration of multi-processor type systems in which two or more bus masters exist. Note that the bus hold request is not acknowledged during a multiple-access cycle initiated by the bus sizing function or a bit manipulation instruction.
Status Data Bus Width CPU bus lock 16 bits Word access to even address Word access to odd address Access Type Timing in Which Bus Hold Request Not Acknowledged Between first and second access Between first and second access Between second and third access Halfword access to odd address 8 bits Word access Between first and second access Between first and second access Between second and third access Between third and fourth access Halfword access Read-modify-write access of bit manipulation instruction - - Between first and second access Between read access and write access
178
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
5.8.2 Bus hold procedure The bus hold status transition procedure is shown below.
<1> Low-level input to HLDRQ pin acknowledged <2> All bus cycle start requests inhibited <3> End of current bus cycle <4> Shift to bus idle status. <5> Output low level from HLDAK pin
Normal status
Bus hold status
<6> High-level input to HLDRQ pin acknowledged <7> Output high level from HLDAK pin <8> Bus cycle start request inhibition released <9> Bus cycle starts
Normal status
HLDRQ (input)
HLDAK (output)
<1> <2>
<3><4> <5>
<6> <7><8><9>
5.8.3 Operation in power save mode Because the internal system clock is stopped in the STOP and IDLE modes, the bus hold status is not entered even if the HLDRQ pin is asserted. In the HALT mode, the HLDAK pin is asserted as soon as the HLDRQ pin has been asserted, and the bus hold status is entered. When the HLDRQ pin is later deasserted, the HLDAK pin is also deasserted, and the bus hold status is cleared.
Preliminary User's Manual U17703EJ1V0UD
179
CHAPTER 5 BUS CONTROL FUNCTION
5.9 Bus Priority
Bus hold, instruction fetch (branch), instruction fetch (successive), operand data access, and DMA transfer are executed in the external bus cycle. Bus hold has the highest priority, followed by DMA transfer, operand data access, instruction fetch (branch), and instruction fetch (successive). An instruction fetch may be inserted between the read access and write access in a read-modify-write access. If an instruction is executed for two or more accesses, an instruction fetch and bus hold are not inserted between accesses due to bus size limitations. Table 5-4. Bus Priority
Priority High Bus hold DMA transfer Operand data access Instruction fetch (branch) Low Instruction fetch (successive) External Bus Cycle Bus Master External device DMAC CPU CPU CPU
180
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
5.10 Bus Timing
Figure 5-4. Multiplex Bus Read Timing (Bus Size: 16 Bits, 16-Bit Access)
T1
T2
T3
T1
T2
TW
TW
T3
TI
T1
CLKOUT A21 to A16 ASTB CS1, CS0 WAIT AD15 to AD0 RD Programmable External wait wait 8-bit access AD15 to AD8 AD7 to AD0 Odd address Active Hi-Z Even address Hi-Z Active Idle state A1 D1 A2 D2 A3 A1 A2 A3
Remark
The broken lines indicate high impedance.
Figure 5-5. Multiplex Bus Read Timing (Bus Size: 8 Bits)
T1
CLKOUT A21 to A16, AD15 to AD8 ASTB CS1, CS0 WAIT AD7 to AD0 RD
T2
T3
T1
T2
TW
TW
T3
TI
T1
A1
A2
A3
A1
D1
A2
D2
A3
Programmable External wait wait
Idle state
Remark
The broken lines indicate high impedance.
Preliminary User's Manual U17703EJ1V0UD
181
CHAPTER 5 BUS CONTROL FUNCTION
Figure 5-6. Multiplex Bus Write Timing (Bus Size: 16 Bits, 16-Bit Access)
T1 CLKOUT A21 to A16 ASTB CS1, CS0 WAIT AD15 to AD0 WR1, WR0 A1 11
T2
T3
T1
T2
TW
TW
T3
T1
A1
A2
A3
D1 00 11
A2 11
D2 00
A3 11
Programmable External wait wait 8-bit access AD15 to AD8 AD7 to AD0 WR1, WR0 Odd address Active Undefined 01 10 Even address Undefined Active
Figure 5-7. Multiplex Bus Write Timing (Bus Size: 8 Bits)
T1 CLKOUT A21 to A16, AD15 to AD8 ASTB CS1, CS0 WAIT AD7 to AD0 WR1, WR0 A1 11
T2
T3
T1
T2
TW
TW
T3
T1
A1
A2
A3
D1 10 11
A2 11
D2 10
A3 11
Programmable External wait wait
182
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
Figure 5-8. Multiplex Bus Hold Timing (Bus Size: 16 Bits, 16-Bit Access)
T1 CLKOUT HLDRQ HLDAK A21 to A16 AD15 to AD0 ASTB RD CS1, CS0 A1
T2
T3
TINote
TH
TH
TH
TH
TINote
T1
T2
T3
A1 D1
Undefined Undefined
Undefined Undefined A2
A2 D2
11
11
Note This idle state (TI) does not depend on the BCC register settings. Remarks 1. Refer to Table 2-2 Pin Operation Status in Operation Modes for the pin statuses in the bus hold mode. 2. The broken lines indicate high impedance.
Preliminary User's Manual U17703EJ1V0UD
183
CHAPTER 5 BUS CONTROL FUNCTION
Figure 5-9. Separate Bus Read Timing (Bus Size: 16 Bits, 16-Bit Access)
T1 CLKOUT CS1, CS0 WAIT A21 to A0 RD AD15 to AD0 A1
T2
T1
TW
TW
T2
TI
T1
T2
A2
A3
D1
D2
D3
Programmable External wait wait 8-bit access AD15 to AD8 AD7 to AD0 Odd address Active Hi-Z Even address Hi-Z Active
Idle state
Remark
The broken lines indicate high impedance.
Figure 5-10. Separate Bus Read Timing (Bus Size: 8 Bits)
T1 CLKOUT CS1, CS0 WAIT A21 to A0 RD AD7 to AD0 A1
T2
T1
TW
TW
T2
TI
T1
T2
A2
A3
D1
D2
D3
Programmable External wait wait
Idle state
Remark
The broken lines indicate high impedance.
184
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
Figure 5-11. Separate Bus Write Timing (Bus Size: 16 Bits, 16-Bit Access)
T1 CLKOUT CS1, CS0 WAIT A21 to A0 WR1, WR0 AD15 to AD0 11 A1
T2
T1
TW
TW
T2
T1
T2
A2 00 D1 11 11 00 D2 11
A3 00 D3 11
Programmable External wait wait 8-bit access AD15 to AD8 AD7 to AD0 WR1, WR0 Odd address Active Undefined 01 10 Even address Undefined Active
Remark
The broken lines indicate high impedance.
Figure 5-12. Separate Bus Write Timing (Bus Size: 8 Bits)
T1 CLKOUT CS1, CS0 WAIT A21 to A0 WR1, WR0 AD7 to AD0 11 A1
T2
T1
TW
TW
T2
T1
T2
A2 10 D1 11 11 10 D2 11
A3 10 D3 11
Programmable External wait wait
Remark
The broken lines indicate high impedance.
Preliminary User's Manual U17703EJ1V0UD
185
CHAPTER 5 BUS CONTROL FUNCTION
Figure 5-13. Separate Bus Hold Timing (Bus Size: 8 Bits, Write)
T1 CLKOUT HLDRQ HLDAK A21 to A0 AD7 to AD0 WR1, WR0 CS1, CS0 11 A1
T2
T1
T2
TINote
TH
TH
TH
TH
TINote
T1
T2
A2 D1 D2 11 10
Undefined
Undefined
A3 D3
10
11 11 11
11
10
11
Note This idle state (TI) does not depend on the BCC register settings. Remark The broken lines indicate high impedance.
Figure 5-14. Address Wait Timing (Separate Bus Read, Bus Size: 16 Bits, 16-Bit Access)
T1 CLKOUT ASTB CS1, CS0 WAIT A21 to A0 RD AD15 to AD0 A1
T2 CLKOUT ASTB CS1, CS0 WAIT A21 to A0 RD D1 AD15 to AD0
TASW
T1
TAHW
T2
A1
D1
Remarks 1. TASW (address setup wait): Image of high-level width of T1 state expanded. 2. TAHW (address hold wait): Image of low-level width of T1 state expanded. 3. The broken lines indicate high impedance.
186
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 5 BUS CONTROL FUNCTION
5.11 Cautions
With the external bus function, signals may not be output at the correct timing under the following conditions. Multiplex bus mode <1> CLKOUT asynchronous (2.7 V VDD = EVDD = AVREF0 5.5 V, 2.7 V BVDD 5.5 V) When 1/fCPU < 84 ns Separate bus mode <1> Read cycle, CLKOUT asynchronous (4.0 V VDD = BVDD = EVDD = AVREF0 5.5 V) When 1/fCPU < 100 ns <2> Write cycle, CLKOUT asynchronous (4.0 V VDD = BVDD = EVDD = AVREF0 5.5 V) When 1/fCPU < 60 ns <3> Read cycle, CLKOUT asynchronous (2.7 V VDD = BVDD = EVDD = AVREF0 5.5 V) When 1/fCPU < 200 ns <4> Write cycle, CLKOUT asynchronous (2.7 V VDD = BVDD = EVDD = AVREF0 5.5 V) When 1/fCPU < 100 ns When used under the above conditions, be sure to insert an address setup/hold wait using the AWC register (n = 0, 1). When used in multiplex bus mode and under condition <1> * 70 ns < 1/fCPU < 84 ns Set an address setup wait (ASWn bit = 1). * 62.5 ns < 1/fCPU < 70 ns Set an address setup wait (ASWn bit = 1) and address hold wait (AHWn bit = 1). When used in separate bus mode and under conditions <1> to <4> Set an address setup wait (ASWn bit = 1).
Preliminary User's Manual U17703EJ1V0UD
187
CHAPTER 6 CLOCK GENERATION FUNCTION
6.1 Overview
The following clock generation functions are available. Main clock oscillator * fX = 2 to 5 MHz (fXX = 8 to 20 MHz: 4.5 V VDD 5.5 V, REGC = VDD) * fX = 2 to 4 MHz (fXX = 8 to 16 MHz: 4.0 V VDD 5.5 V, REGC = VDD) * fX = 2 to 4 MHz (fXX = 8 to 16 MHz: 4.0 V VDD 5.5 V, REGC = 10 F) * fX = 2 to 2.5 MHz (fXX = 8 to 10 MHz: 2.7 V VDD 5.5 V, REGC = VDD) * fX = 2 to 10 MHz (fXX = 2 to 10 MHz: 2.7 V VDD 5.5 V, REGC = VDD) * fX = 2 to 10 MHz (fXX = 2 to 10 MHz: 4.0 V VDD 5.5 V, REGC = 10 F) Subclock oscillator * fXT = 32.768 kHz Multiplication (x4) function by PLL (Phase Locked Loop) * Clock-through mode/PLL mode selectable * Usable voltage: VDD = 2.7 to 5.5 V Internal system clock generation * 7 steps (fXX, fXX/2, fXX/4, fXX/8, fXX/16, fXX/32, fXT) Peripheral clock generation Clock output function Remark fX: Main clock oscillation frequency fXX: Main clock frequency fXT: Subclock frequency
188
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 6 CLOCK GENERATION FUNCTION
6.2 Configuration
Figure 6-1. Clock Generator
FRC bit XT1 XT2 Subclock oscillator fXT fXT fBRG = fX/2 to fX/212 Interval timer BRG MCK MFRC bit bit X1 X2 Main clock oscillator Main clock oscillator stop control STOP mode SELPLL bit fX IDLE control CK2 to CK0 bits
Selector
Watch timer clock, watchdog timer clock Watch timer clock
IDLE mode
PLLON bit
IDLE mode
CLS bit, CK3 bit
PLL
IDLE fXX control
Prescaler 2 fXX/32 fXX/16 fXX/8 fXX/4 fXX/2 fXX HALT mode
Selector Selector
HALT fCPU control fCLK
CPU clock Internal system clock
IDLE mode
Prescaler 1
fXX to fXX/1024 Peripheral clock, watchdog timer 2 clock fXW Watchdog timer 1 clock
IDLE control CLKOUT Port CM
Remark
fX: fXX: fXT:
Main clock oscillation frequency Main clock frequency Subclock frequency
fCLK: Internal system clock frequency fCPU: CPU clock frequency fBRG: Watch timer clock frequency fXW: Watchdog timer 1 clock frequency
Preliminary User's Manual U17703EJ1V0UD
189
CHAPTER 6 CLOCK GENERATION FUNCTION
(1) Main clock oscillator The main clock oscillator oscillates the following frequencies (fX): * fX = 2 to 5 MHz (REGC = VDD = 4.5 to 5.5 V, in PLL mode) * fX = 2 to 4 MHz (REGC = VDD = 4.0 to 5.5 V, in PLL mode) * fX = 2 to 4 MHz (REGC = 10 F, VDD = 4.0 to 5.5 V, in PLL mode) * fX = 2 to 2.5 MHz (REGC = VDD = 2.7 to 5.5 V, in PLL mode) * fX = 2 to 10 MHz (REGC = VDD = 2.7 to 5.5 V, in clock through mode) * fX = 2 to 10 MHz (REGC = 10 F, VDD = 4.0 to 5.5 V, in clock through mode) (2) Subclock oscillator The subclock oscillator oscillates a frequency of 32.768 kHz (fXT). (3) Main clock oscillator stop control This circuit generates a control signal that stops oscillation of the main clock oscillator. Oscillation of the main clock oscillator is stopped in the STOP mode or when the PCC.MCK bit = 1 (valid only when the PCC.CLS bit = 1). (4) Prescaler 1 This prescaler generates the clock (fXX to fXX/1024) to be supplied to the following on-chip peripheral functions: TMP0, TM00 to TM03, TM50, TM51, TMH0, TMH1, CSI00, CSI01, CSIA0, CSIA1, UART0 to UART2, I C0, ADC, DAC, and WDT2 (5) Prescaler 2 This circuit divides the main clock (fXX). The clock generated by prescaler 2 (fXX to fXX/32) is supplied to the selector that generates the CPU clock (fCPU) and internal system clock (fCLK). fCLK is the clock supplied to the INTC, DMA controller, ROM, and RAM blocks, and can be output from the CLKOUT pin. (6) Interval timer BRG This circuit divides the clock (fX) generated by the main clock oscillator to a specific frequency (32.768 kHz) and supplies that clock to the watch timer block. For details, refer to CHAPTER 11 INTERVAL TIMER, WATCH TIMER. (7) PLL This circuit multiplies the clock (fX) generated by the main clock oscillator. It operates in two modes: clock-through mode in which fX is output as is, and PLL mode in which a multiplied clock is output. These modes can be selected by using the PLLCTL.SELPLL bit. Operation of the PLL can be started or stopped by the PLLCTL.PLLON bit.
2
190
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 6 CLOCK GENERATION FUNCTION
6.3 Registers
(1) Processor clock control register (PCC) The PCC register is a special register. Data can be written to this register only in combination of specific sequences (refer to 3.4.7 Special registers). This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 03H. (1/2)
After reset: 03H R/W <> PCC FRC MCK MFRC After reset: FFFFF828H <> CLS
Note
<> CK3 CK2 CK1 CK0
FRC 0 1 Used Not used
Use of subclock on-chip feedback resistor
MCK 0 1 Oscillation enabled Oscillation stopped
Control of main clock oscillator
* Even if the MCK bit is set to 1 while the system is operating with the main clock as the CPU clock, the operation of the main clock does not stop. It stops after the CPU clock has been changed to the subclock. * When the main clock is stopped and the device is operating on the subclock, clear the MCK bit to 0 and wait until the oscillation stabilization time has been secured by the program before switching back to the main clock.
MFRC 0 1 Used Not used
Use of main clock on-chip feedback resistor
CLSNote 0 1 Main clock operation Subclock operation
Status of CPU clock (fCPU)
Note The CLS bit is a read-only bit.
Preliminary User's Manual U17703EJ1V0UD
191
CHAPTER 6 CLOCK GENERATION FUNCTION
(2/2)
CK3 0 0 0 0 0 0 0 1
CK2 0 0 0 0 1 1 1 x
CK1 0 0 1 1 0 0 1 x
CK0 0 1 0 1 0 1 x x
Clock selection (fCLK/fCPU) fXX fXX/2 fXX/4 fXX/8 (default value) fXX/16 fXX/32 Setting prohibited fXT
Cautions 1. Do not change the CPU clock (by using the CK3 to CK0 bits) while CLKOUT is being output. 2. Use a bit manipulation instruction to manipulate the CK3 bit. When using an 8-bit manipulation instruction, do not change the set values of the CK2 to CK0 bits. 3. When the CPU operates on the subclock and no clock is input to the X1 pin, do not access a register in which a wait occurs (refer to 3.4.8 (1) (b) Access to special on-chip peripheral I/O register for details of the access methods). If a wait occurs, it can only be released by a reset. Remark x: don't care
192
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 6 CLOCK GENERATION FUNCTION
(a) Example of setting main clock operation subclock operation <1> CK3 bit 1: Use of a bit manipulation instruction is recommended. Do not change the CK2 to CK0 bits. <2> Subclock operation: Read the CLS bit to check if subclock operation has started. It takes the following time after the CK3 bit is set until subclock operation is started. Max.: 1/fXT (1/subclock frequency) <3> MCK bit 1: Set the MCK bit to 1 only when stopping the main clock.
Cautions 1. When stopping the main clock, stop the PLL. 2. If the following conditions are not satisfied, change the CK2 to CK0 bits so that the conditions are satisfied, then change to the subclock operation mode. Internal system clock (fCLK) > Subclock (fXT: 32.768 kHz) x 4 Remark Internal system clock (fCLK): Clock generated from the main clock (fXX) by setting bits CK2 to CK0 [Description example] <1> _SET_SUB_RUN : st.b set1 tst1 bz st.b set1 Remark r0, PRCMD[r0] 3, PCC[r0] 4, PCC[r0] _CHECK_CLS r0, PRCMD[r0] 6, PCC[r0] -- MCK bit 1, main clock is stopped -- CK3 bit 1 -- Wait until subclock operation starts.
<2> _CHECK_CLS :
<3> _STOP_MAIN_CLOCK :
The above description is an example. Note with caution that the CLS bit is read in a closed loop in <2>.
Preliminary User's Manual U17703EJ1V0UD
193
CHAPTER 6 CLOCK GENERATION FUNCTION
(b) Example of setting subclock operation main clock operation <1> MCK bit 0: <3> CK3 bit 0: <4> Main clock operation: Main clock starts oscillating Use of a bit manipulation instruction is recommended. Do not change the CK2 to CK0 bits. It takes the following time after the CK3 bit is set until main clock operation is started. Max.: 1/fXT (1/subclock frequency) Therefore, insert one NOP instruction immediately after setting the CK3 bit to 0 or read the CLS bit to check if main clock operation has started. [Description example] <1> _START_MAIN_OSC : st.b clr1 <2> movea _WAIT_OST : nop nop nop addi mp bne <3> st.b clr1 tst1 bnz Remark -1, r11, r11 r0, r11 _PROGRAM_WAIT r0, PRCMD[r0] 3, PCC[r0] 4, PCC[r0] _CHECK_CLS The above description is an example. Note with caution that the CLS bit is read in a closed loop in <4>. -- CK3 0 -- Wait until main clock operation starts r0, PRCMD[r0] 6, PCC[r0] 0x55, r0, r11 -- Release of protection of special registers -- Main clock starts oscillating -- Wait for oscillation stabilization time <2> Insert waits by the program and wait until the oscillation stabilization time of the main clock elapses.
<4> _CHECK_CLS :
194
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 6 CLOCK GENERATION FUNCTION
6.4 Operation
6.4.1 Operation of each clock The following table shows the operation status of each clock. Table 6-1. Operation Status of Each Clock
Register Setting and Operation Status CLS bit = 0, MCK bit = 0 During reset Target Clock Main clock oscillator (fX) Subclock oscillator (fXT) CPU clock (fCPU) Internal system clock (fCLK) Peripheral clock (fXX to fXX/1024) WT clock (main) WT clock (sub) WDT1 clock (fXW) WDT2 clock (main) WDT2 clock (sub) x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
During oscillation stabilization time count
PCC Register CLS bit = 1, MCK bit = 0 HALT mode IDLE mode STOP mode x CLS bit = 1, MCK bit = 1
Subclock Sub-IDLE Subclock Sub-IDLE mode mode mode x mode x
Remark
O: Operable x: Stopped
6.4.2 Clock output function The clock output function is used to output the internal system clock (fCLK) from the CLKOUT pin. The internal system clock (fCLK) is selected by using the PCC.CK3 to PCC.CK0 bits. The CLKOUT pin functions alternately as the PCM1 pin and functions as a clock output pin if so specified by the control register of port CM. The status of the CLKOUT pin is the same as the internal system clock in Table 6-1 and the pin can output the clock when it is in the operable status. It outputs a low level in the stopped status. However, the port mode (PCM1: input mode) is selected until the CLKOUT pin output is set after reset. Consequently, the CLKOUT pin goes into a high-impedance state. 6.4.3 External clock input function An external clock can be directly input to the oscillator. Input the clock to the X1 pin and its inverse signal to the X2 pin. Set the PCC.MFRC bit to 1 (on-chip feedback resistor not used). Note, however, that oscillation stabilization time is inserted even in the external clock mode. Connect VDD directly to the REGC pin.
Preliminary User's Manual U17703EJ1V0UD
195
CHAPTER 6 CLOCK GENERATION FUNCTION
6.5 PLL Function
6.5.1 Overview The PLL function is used to output the operating clock of the CPU and on-chip peripheral function at a frequency 4 times higher than the oscillation frequency, and select the clock-through mode. When PLL function is used: Input clock = 2 to 5 MHz (fXX: 8 to 20 MHz) Clock-through mode: 6.5.2 Register (1) PLL control register (PLLCTL) The PLLCTL register is an 8-bit register that controls the security function of PLL and RTO. This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 01H. Input clock = 2 to 10 MHz (fXX: 2 to 10 MHz)
After reset: 01H
R/W
Address: FFFFF806H <> <>
Note
<> PLLON
PLLCTL
0
0
0
0
0
RTOST0
SELPLL
PLLON 0 1 PLL stopped PLL operating
PLL operation control
SELPLL 0 1 Clock-through operation PLL operation
PLL clock selection
Note For the RTOST0 bit, refer to CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO). Caution Be sure to clear bits 4 to 7 to "0". Changing bit 3 does not affect the operation.
196
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 6 CLOCK GENERATION FUNCTION
6.5.3 Usage (1) When PLL is used * After reset has been released, the PLL operates (PLLCTL.PLLON bit = 1), but because the default mode is the clock-through mode (PLLCTL.SELPLL bit = 0), select the PLL mode (SELPLL bit = 1). * To set the STOP mode in which the main clock is stopped, or to set the IDLE mode, first select the clockthrough mode and then stop the PLL. To return from the IDLE or STOP mode, first enable PLL operation (PLLON bit = 1), and then select the PLL mode (SELPLL bit = 1). * To enable the PLL operation, first set the PLLON bit to 1, wait for 200 s, and then set the SELPLL bit to 1. To stop the PLL, first select the clock-through mode (SELPLL bit = 0), wait for 8 clocks or more, and then stop the PLL (PLLON bit = 0). (2) When PLL is not used * The clock-through mode (SELPLL bit = 0) is selected after reset has been released, but the PLL is operating (PLLON bit = 1) and must therefore be stopped (PLLON bit = 0). Remark The PLL is operable in the IDLE mode. To realize low power consumption, stop the PLL. Be sure to stop the PLL when shifting to the STOP mode.
Preliminary User's Manual U17703EJ1V0UD
197
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Timer P (TMP) is a 16-bit timer/event counter.
7.1 Overview
An outline of TMP0 is shown below. * Clock selection: 8 ways * Capture trigger input pins: 2 * External event count input pins: 1 * External trigger input pins: 1 * Timer/counters: 1 * Capture/compare registers: 2 * Capture/compare match interrupt request signals: 2 * Timer output pins: 2
7.2 Functions
TMP0 has the following functions. * Interval timer * External event counter * External trigger pulse output * One-shot pulse output * PWM output * Free-running timer * Pulse width measurement
198
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.3 Configuration
TMP0 includes the following hardware. Table 7-1. Configuration of TMP0
Item Timer register Registers 16-bit counter TMP0 capture/compare registers 0, 1 (TP0CCR0, TP0CCR1) TMP0 counter read buffer register (TP0CNT) CCR0, CCR1 buffer registers Timer inputs Timer outputs Control registers 2 (TIP00
Note
Configuration
, TIP01 pins)
2 (TOP00, TOP01 pins) TMP0 control registers 0, 1 (TP0CTL0, TP0CTL1) TMP0 I/O control registers 0 to 2 (TP0IOC0 to TP0IOC2) TMP0 option register 0 (TP0OPT0)
Note The TIP00 pin functions alternately as a capture trigger input signal, external event count input signal, and external trigger input signal. Figure 7-1. Block Diagram of TMP0
Internal bus
Output controller
fXX fXX/2 fXX/4 fXX/8 fXX/16 fXX/32 fXX/64 fXX/128
TP0CNT
Selector
Selector
16-bit counter Clear
INTTP0OV TOP00 TOP01
Edge detector
CCR0 buffer register
CCR1 buffer register
INTTP0CC0 INTTP0CC1
TIP00 TIP01
Digital noise eliminator
Edge detector
TP0CCR0 TP0CCR1
Internal bus
Remark
fXX: Main clock frequency
Preliminary User's Manual U17703EJ1V0UD
199
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) 16-bit counter This 16-bit counter can count internal clocks or external events. The count value of this counter can be read by using the TP0CNT register. When the TP0CTL0.TP0CE bit = 0, the value of the 16-bit counter is FFFFH. If the TP0CNT register is read at this time, 0000H is read. Reset sets the TP0CE bit to 0. Therefore, the 16-bit counter is set to FFFFH. (2) CCR0 buffer register This is a 16-bit compare register that compares the count value of the 16-bit counter. When the TP0CCR0 register is used as a compare register, the value written to the TP0CCR0 register is transferred to the CCR0 buffer register. When the count value of the 16-bit counter matches the value of the CCR0 buffer register, a compare match interrupt request signal (INTTP0CC0) is generated. The CCR0 buffer register cannot be read or written directly. The CCR0 buffer register is cleared to 0000H after reset, as the TP0CCR0 register is cleared to 0000H. (3) CCR1 buffer register This is a 16-bit compare register that compares the count value of the 16-bit counter. When the TP0CCR1 register is used as a compare register, the value written to the TP0CCR1 register is transferred to the CCR1 buffer register. When the count value of the 16-bit counter matches the value of the CCR1 buffer register, a compare match interrupt request signal (INTTP0CC1) is generated. The CCR1 buffer register cannot be read or written directly. The CCR1 buffer register is cleared to 0000H after reset, as the TP0CCR1 register is cleared to 0000H. (4) Edge detector This circuit detects the valid edges input to the TIP00 and TIP01 pins. No edge, rising edge, falling edge, or both the rising and falling edges can be selected as the valid edge by using the TP0IOC1 and TP0IOC2 registers. (5) Output controller This circuit controls the output of the TOP00 and TOP01 pins. The output controller is controlled by the TP0IOC0 register. (6) Selector This selector selects the count clock for the 16-bit counter. Eight types of internal clocks or an external event can be selected as the count clock. (7) Digital noise eliminator This circuit is valid only when the TIP0a pin is used as a capture trigger input pin. This circuit is controlled by the TIP0a noise elimination register (PaNFC). Remark a = 0, 1
200
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.4 Registers
(1) TMP0 control register 0 (TP0CTL0) The TP0CTL0 register is an 8-bit register that controls the operation of TMP0. This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H. The same value can always be written to the TP0CTL0 register by software.
After reset: 00H
<7>
R/W 6 0
Address: FFFFF5A0H 5 0 4 0 3 0 2 1
0
TP0CTL0
TP0CE
TP0CKS2 TP0CKS1 TP0CKS0
TP0CE 0 1
TMP0 operation control TMP0 operation disabled (TMP0 reset asynchronouslyNote). TMP0 operation enabled. TMP0 operation started.
TP0CKS2 TP0CKS1 TP0CKS0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 fXX fXX/2 fXX/4 fXX/8 fXX/16 fXX/32 fXX/64 fXX/128
Internal count clock selection
Note TP0OPT0.TP0OVF bit, 16-bit counter, timer output (TOP00, TOP01 pins) Cautions 1. Set the TP0CKS2 to TP0CKS0 bits when the TP0CE bit = 0. When the value of the TP0CE bit is changed from 0 to 1, the TP0CKS2 to TP0CKS0 bits can be set simultaneously. 2. Be sure to clear bits 3 to 6 to "0". Remark fXX: Main clock frequency
Preliminary User's Manual U17703EJ1V0UD
201
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) TMP0 control register 1 (TP0CTL1) The TP0CTL1 register is an 8-bit register that controls the operation of TMP0. This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H.
After reset: 00H
7
R/W <6> TP0EST
Address: FFFFF5A1H <5> TP0EEE 4 0 3 0 2 1
0
TP0CTL1
0
TP0MD2 TP0MD1 TP0MD0
TP0EST 0 1
Software trigger control - Generate a valid signal for external trigger input. * In one-shot pulse output mode: A one-shot pulse is output with writing 1 to the TP0EST bit as the trigger. * In external trigger pulse output mode: A PWM waveform is output with writing 1 to the TP0EST bit as the trigger.
TP0EEE 0
Count clock selection Disable operation with external event count input. (Perform counting with the count clock selected by the TP0CTL0.TP0CK0 to TP0CTL0.TP0CK2 bits.) Enable operation with external event count input. (Perform counting at the valid edge of the external event count input signal.)
1
The TP0EEE bit selects whether counting is performed with the internal count clock or the valid edge of the external event count input.
TP0MD2 TP0MD1 TP0MD0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1
Timer mode selection Interval timer mode External event count mode External trigger pulse output mode One-shot pulse output mode PWM output mode Free-running timer mode Pulse width measurement mode Setting prohibited
Cautions 1. The TP0EST bit is valid only in the external trigger pulse output mode or one-shot pulse output mode. In any other mode, writing 1 to this bit is ignored. 2. External event count input is selected in the external event count mode regardless of the value of the TP0EEE bit. 3. Set the TP0EEE and TP0MD2 to TP0MD0 bits when the TP0CTL0.TP0CE bit = 0. (The same value can be written when the TP0CE bit = 1.) The operation is not guaranteed when rewriting is performed with the TP0CE bit = 1. If rewriting was mistakenly performed, clear the TP0CE bit to 0 and then set the bits again. 4. Be sure to clear bits 3, 4, and 7 to "0".
202
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(3) TMP0 I/O control register 0 (TP0IOC0) The TP0IOC0 register is an 8-bit register that controls the timer output (TOP00, TOP01 pins). This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H.
After reset: 00H
7
R/W 6 0
Address: FFFFF5A2H 5 0 4 0 3 <2> 1 TP0OL0
<0>
TP0IOC0
0
TP0OL1 TP0OE1
TP0OE0
TP0OL1 0 1
TOP01 pin output level setting TOP01 pin output inversion disabled TOP01 pin output inversion enabled
TP0OE1 0
TOP01 pin output setting Timer output disabled * When TP0OL1 bit = 0: Low level is output from the TOP01 pin * When TP0OL1 bit = 1: High level is output from the TOP01 pin Timer output enabled (a square wave is output from the TOP01 pin).
1
TP0OL0 0 1
TOP00 pin output level setting TOP00 pin output inversion disabled TOP00 pin output inversion enabled
TP0OE0 0
TOP00 pin output setting Timer output disabled * When TP0OL0 bit = 0: Low level is output from the TOP00 pin * When TP0OL0 bit = 1: High level is output from the TOP00 pin Timer output enabled (a square wave is output from the TOP00 pin).
1
Cautions 1. Rewrite the TP0OL1, TP0OE1, TP0OL0, and TP0OE0 bits when the TP0CTL0.TP0CE bit = 0. (The same value can be written when the TP0CE bit = 1.) set the bits again. 2. Even if the TP0OLa bit is manipulated when the TP0CE and TP0OEa bits are 0, the TOP0a pin output level varies (a = 0, 1). If rewriting was mistakenly performed, clear the TP0CE bit to 0 and then
Preliminary User's Manual U17703EJ1V0UD
203
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(4) TMP0 I/O control register 1 (TP0IOC1) The TP0IOC1 register is an 8-bit register that controls the valid edge of the capture trigger input signals (TIP00, TIP01 pins). This register can be read or written in 8-bit units. Reset sets this register to 00H.
After reset: 00H
7
R/W 6 0
Address: FFFFF5A3H 5 0 4 0 3 TP0IS3 2 TP0IS2 1 TP0IS1
0
TP0IOC1
0
TP0IS0
TP0IS3 0 0 1 1
TP0IS2 0 1 0 1
Capture trigger input signal (TIP01 pin) valid edge setting No edge detection (capture operation invalid) Detection of rising edge Detection of falling edge Detection of both edges
TP0IS1 0 0 1 1
TP0IS0 0 1 0 1
Capture trigger input signal (TIP00 pin) valid edge setting No edge detection (capture operation invalid) Detection of rising edge Detection of falling edge Detection of both edges
Cautions 1. Rewrite
the
TP0IS3
to
TP0IS0
bits
when
the
TP0CTL0.TP0CE bit = 0. (The same value can be written when the TP0CE bit = 1.) again. 2. The TP0IS3 to TP0IS0 bits are valid only in the freerunning timer mode and the pulse width measurement mode. In all other modes, a capture operation is not possible. If rewriting was mistakenly performed, clear the TP0CE bit to 0 and then set the bits
204
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(5) TMP0 I/O control register 2 (TP0IOC2) The TP0IOC2 register is an 8-bit register that controls the valid edge of the external event count input signal (TIP00 pin) and external trigger input signal (TIP00 pin). This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H.
After reset: 00H
7
R/W 6 0
Address: FFFFF5A4H 5 0 4 0 3 2 1
0
TP0IOC2
0
TP0EES1 TP0EES0 TP0ETS1 TP0ETS0
TP0EES1 TP0EES0 External event count input signal (TIP00 pin) valid edge setting 0 0 1 1 0 1 0 1 No edge detection (external event count invalid) Detection of rising edge Detection of falling edge Detection of both edges
TP0ETS1 TP0ETS0 0 0 1 1 0 1 0 1
External trigger input signal (TIP00 pin) valid edge setting No edge detection (external trigger invalid) Detection of rising edge Detection of falling edge Detection of both edges
Cautions 1. Rewrite the TP0EES1, TP0EES0, TP0ETS1, and TP0ETS0 bits when the TP0CTL0.TP0CE bit = 0. (The same value can be written when the TP0CE bit = 1.) If rewriting was mistakenly performed, clear the TP0CE bit to 0 and then set the bits again. 2. The TP0EES1 and TP0EES0 bits are valid only when the TP0CTL1.TP0EEE bit = 1 or when the external event count mode (TP0CTL1.TP0MD2 to TP0CTL1.TP0MD0 bits = 001) has been set. 3. The TP0ETS1 and TP0ETS0 bits are valid only when the external trigger pulse output mode (TP0MD2 to TP0MD0 bits = 010) or the one-shot pulse output mode (TP0MD2 to TP0MD0 bits = 011) is set.
Preliminary User's Manual U17703EJ1V0UD
205
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(6) TMP0 option register 0 (TP0OPT0) The TP0OPT0 register is an 8-bit register used to set the capture/compare operation and detect an overflow. This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H.
After reset: 00H
7
R/W 6 0
Address: FFFFF5A5H 5 4 3 0 2 0 1 0
<0>
TP0OPT0
0
TP0CCS1 TP0CCS0
TP0OVF
TP0CCS1 0 1
TP0CCR1 register capture/compare selection Compare register selected Capture register selected
The TP0CCS1 bit setting is valid only in the free-running timer mode.
TP0CCS0 0 1
TP0CCR0 register capture/compare selection Compare register selected Capture register selected
The TP0CCS0 bit setting is valid only in the free-running timer mode.
TP0OVF Set (1) Reset (0)
TMP0 overflow detection flag Overflow occurred TP0OVF bit 0 written or TP0CTL0.TP0CE bit = 0
* The TP0OVF bit is reset when the 16-bit counter count value overflows from FFFFH to 0000H in the free-running timer mode or the pulse width measurement mode. * An interrupt request signal (INTTP0OV) is generated at the same time that the TP0OVF bit is set to 1. The INTTP0OV signal is not generated in modes other than the free-running timer mode and the pulse width measurement mode. * The TP0OVF bit is not cleared even when the TP0OVF bit or the TP0OPT0 register are read when the TP0OVF bit = 1. * The TP0OVF bit can be both read and written, but the TP0OVF bit cannot be set to 1 by software. Writing 1 has no influence on the operation of TMP0.
Cautions 1. Rewrite the TP0CCS1 and TP0CCS0 bits when the TP0CE bit = 0. (The same value can be written when the TP0CE bit = 1.) If rewriting was mistakenly performed, clear the TP0CE bit to 0 and then set the bits again. 2. Be sure to clear bits 1 to 3, 6, and 7 to "0".
206
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(7) TMP0 capture/compare register 0 (TP0CCR0) The TP0CCR0 register can be used as a capture register or a compare register depending on the mode. This register can be used as a capture register or a compare register only in the free-running timer mode, depending on the setting of the TP0OPT0.TP0CCS0 bit. In the pulse width measurement mode, the TP0CCR0 register can be used only as a capture register. In any other mode, this register can be used only as a compare register. The TP0CCR0 register can be read or written during operation. This register can be read or written in 16-bit units. Reset sets this register to 0000H. Caution Accessing the TP0CCR0 register is disabled during subclock operation with the main clock stopped. For details, refer to 3.4.8 (1) (b).
After reset: 0000H
15 14
R/W 13 12
Address: FFFFF5A6H 11 10 9 8 7 6 5 4 3 2
1 0
TP0CCR0
Preliminary User's Manual U17703EJ1V0UD
207
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(a) Function as compare register The TP0CCR0 register can be rewritten even when the TP0CTL0.TP0CE bit = 1. The set value of the TP0CCR0 register is transferred to the CCR0 buffer register. When the value of the 16-bit counter matches the value of the CCR0 buffer register, a compare match interrupt request signal (INTTP0CC0) is generated. If TOP00 pin output is enabled at this time, the output of the TOP00 pin is inverted. When the TP0CCR0 register is used as a cycle register in the interval timer mode, external event count mode, external trigger pulse output mode, one-shot pulse output mode, or PWM output mode, the value of the 16-bit counter is cleared (0000H) if its count value matches the value of the CCR0 buffer register. (b) Function as capture register When the TP0CCR0 register is used as a capture register in the free-running timer mode, the count value of the 16-bit counter is stored in the TP0CCR0 register if the valid edge of the capture trigger input pin (TIP00 pin) is detected. In the pulse width measurement mode, the count value of the 16-bit counter is stored in the TP0CCR0 register and the 16-bit counter is cleared (0000H) if the valid edge of the capture trigger input pin (TIP00 pin) is detected. Even if the capture operation and reading the TP0CCR0 register conflict, the correct value of the TP0CCR0 register can be read. The following table shows the functions of the capture/compare register in each mode, and how to write data to the compare register. Table 7-2. Function of Capture/Compare Register in Each Mode and How to Write Compare Register
Operation Mode Interval timer External event counter External trigger pulse output One-shot pulse output PWM output Free-running timer Pulse width measurement Capture/Compare Register Compare register Compare register Compare register Compare register Compare register Capture/compare register Capture register How to Write Compare Register Anytime write Anytime write Batch write Anytime write Batch write Anytime write -
208
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(8) TMP0 capture/compare register 1 (TP0CCR1) The TP0CCR1 register can be used as a capture register or a compare register depending on the mode. This register can be used as a capture register or a compare register only in the free-running timer mode, depending on the setting of the TP0OPT0.TP0CCS1 bit. In the pulse width measurement mode, the TP0CCR1 register can be used only as a capture register. In any other mode, this register can be used only as a compare register. The TP0CCR1 register can be read or written during operation. This register can be read or written in 16-bit units. Reset sets this register to 0000H. Caution Accessing the TP0CCR1 register is disabled during subclock operation with the main clock stopped. For details, refer to 3.4.8 (1) (b).
After reset: 0000H
15
R/W
13
Address: FFFFF5A8H
11
14
12
10
9
8
7
6
5
4
3
2
1
0
TP0CCR1
Preliminary User's Manual U17703EJ1V0UD
209
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(a) Function as compare register The TP0CCR1 register can be rewritten even when the TP0CTL0.TP0CE bit = 1. The set value of the TP0CCR1 register is transferred to the CCR1 buffer register. When the value of the 16-bit counter matches the value of the CCR1 buffer register, a compare match interrupt request signal (INTTP0CC1) is generated. If TOP01 pin output is enabled at this time, the output of the TOP01 pin is inverted. (b) Function as capture register When the TP0CCR1 register is used as a capture register in the free-running timer mode, the count value of the 16-bit counter is stored in the TP0CCR1 register if the valid edge of the capture trigger input pin (TIP01 pin) is detected. In the pulse width measurement mode, the count value of the 16-bit counter is stored in the TP0CCR1 register and the 16-bit counter is cleared (0000H) if the valid edge of the capture trigger input pin (TIP01 pin) is detected. Even if the capture operation and reading the TP0CCR1 register conflict, the correct value of the TP0CCR1 register can be read. The following table shows the functions of the capture/compare register in each mode, and how to write data to the compare register. Table 7-3. Function of Capture/Compare Register in Each Mode and How to Write Compare Register
Operation Mode Interval timer External event counter External trigger pulse output One-shot pulse output PWM output Free-running timer Pulse width measurement Capture/Compare Register Compare register Compare register Compare register Compare register Compare register Capture/compare register Capture register How to Write Compare Register Anytime write Anytime write Batch write Anytime write Batch write Anytime write -
210
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(9) TMP0 counter read buffer register (TP0CNT) The TP0CNT register is a read buffer register that can read the count value of the 16-bit counter. If this register is read when the TP0CTL0.TP0CE bit = 1, the count value of the 16-bit timer can be read. This register is read-only, in 16-bit units. The value of the TP0CNT register is cleared to 0000H when the TP0CE bit = 0. If the TP0CNT register is read at this time, the value of the 16-bit counter (FFFFH) is not read, but 0000H is read. The value of the TP0CNT register is cleared to 0000H after reset, as the TP0CE bit is cleared to 0. Caution Accessing the TP0CNT register is disabled during subclock operation with the main clock stopped. For details, refer to 3.4.8 (1) (b).
After reset: 0000H
15
R
13
Address: FFFFF5AAH 12
11
14
10
9
8
7
6
5
4
3
2
1
0
TP0CNT
Preliminary User's Manual U17703EJ1V0UD
211
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.5 Operation
TMP0 can perform the following operations.
Operation TP0CTL1.TP0EST Bit TIP00 Pin Capture/Compare Register Setting Compare only Compare only Compare only Compare only Compare only Switching enabled Capture only Compare Register Write Anytime write Anytime write Batch write Anytime write Batch write Anytime write Not applicable
(Software Trigger Bit) (External Trigger Input) Interval timer mode External event count mode
Note 1
Invalid Invalid
Note 2
Invalid Invalid Valid Valid Invalid Invalid Invalid
External trigger pulse output mode One-shot pulse output mode PWM output mode Free-running timer mode Pulse width measurement mode
Note 2
Valid Valid Invalid Invalid
Note 2
Invalid
Notes 1. To use the external event count mode, specify that the valid edge of the TIP00 pin capture trigger input is not detected (by clearing the TP0IOC1.TP0IS1 and TP0IOC1.TP0IS0 bits to "00"). 2. When using the external trigger pulse output mode, one-shot pulse output mode, and pulse width measurement mode, select the internal clock as the count clock (by clearing the TP0CTL1.TP0EEE bit to 0).
212
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.5.1 Interval timer mode (TP0MD2 to TP0MD0 bits = 000) In the interval timer mode, an interrupt request signal (INTTP0CC0) is generated at the specified interval if the TP0CTL0.TP0CE bit is set to 1. A square wave whose half cycle is equal to the interval can be output from the TOP00 pin. Usually, the TP0CCR1 register is not used in the interval timer mode. Figure 7-2. Configuration of Interval Timer
Clear
Count clock selection
16-bit counter Match signal
Output controller
TOP00 pin
INTTP0CC0 signal
TP0CE bit
CCR0 buffer register
TP0CCR0 register
Figure 7-3. Basic Timing of Operation in Interval Timer Mode
FFFFH 16-bit counter 0000H TP0CE bit TP0CCR0 register TOP00 pin output INTTP0CC0 signal Interval (D0 + 1) Interval (D0 + 1) Interval (D0 + 1) Interval (D0 + 1) D0 D0 D0 D0 D0
Preliminary User's Manual U17703EJ1V0UD
213
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
When the TP0CE bit is set to 1, the value of the 16-bit counter is cleared from FFFFH to 0000H in synchronization with the count clock, and the counter starts counting. At this time, the output of the TOP00 pin is inverted. Additionally, the set value of the TP0CCR0 register is transferred to the CCR0 buffer register. When the count value of the 16-bit counter matches the value of the CCR0 buffer register, the 16-bit counter is cleared to 0000H, the output of the TOP00 pin is inverted, and a compare match interrupt request signal (INTTP0CC0) is generated. The interval can be calculated by the following expression. Interval = (Set value of TP0CCR0 register + 1) x Count clock cycle Figure 7-4. Register Setting for Interval Timer Mode Operation (1/2)
(a) TMP0 control register 0 (TP0CTL0)
TP0CE TP0CTL0 0/1 0 0 0 0 TP0CKS2 TP0CKS1 TP0CKS0 0/1 0/1 0/1
Select count clock 0: Stop counting 1: Enable counting
(b) TMP0 control register 1 (TP0CTL1)
TP0EST TP0EEE TP0CTL1 0 0 0/1
Note
TP0MD2 TP0MD1 TP0MD0 0 0 0 0 0 0, 0, 0: Interval timer mode 0: Operate on count clock selected by TP0CKS0 to TP0CKS2 bits 1: Count with external event count input signal
(c) TMP0 I/O control register 0 (TP0IOC0)
TP0OL1 TP0IOC0 0 0 0 0 0/1 TP0OE1 TP0OL0 0/1 0/1 TP0OE0 0/1 0: Disable TOP00 pin output 1: Enable TOP00 pin output Setting of output level with operation of TOP00 pin disabled 0: Low level 1: High level 0: Disable TOP01 pin output 1: Enable TOP01 pin output Setting of output level with operation of TOP01 pin disabled 0: Low level 1: High level
Note This bit can be set to 1 only when the interrupt request signals (INTTP0CC0 and INTTP0CC1) are masked by the interrupt mask flags (TP0CCMK0 and TP0CCMK1) and timer output (TOP01) is performed at the same time. However, set the TP0CCR0 and TP0CCR1 registers to the same value (refer to 7.5.1 (2) (d) Operation of TP0CCR1 register).
214
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-4. Register Setting for Interval Timer Mode Operation (2/2)
(d) TMP0 counter read buffer register (TP0CNT) By reading the TP0CNT register, the count value of the 16-bit counter can be read. (e) TMP0 capture/compare register 0 (TP0CCR0) If the TP0CCR0 register is set to D0, the interval is as follows. Interval = (D0 + 1) x Count clock cycle (f) TMP0 capture/compare register 1 (TP0CCR1) Usually, the TP0CCR1 register is not used in the interval timer mode. However, the set value of the TP0CCR1 register is transferred to the CCR1 buffer register. A compare match interrupt request signal (INTTP0CC1) is generated when the count value of the 16-bit counter matches the value of the CCR1 buffer register. Therefore, mask the interrupt request by using the corresponding interrupt mask flag (TP0CCMK1). Remark TMP0 I/O control register 1 (TP0IOC1), TMP0 I/O control register 2 (TP0IOC2), and TMP0 option register 0 (TP0OPT0) are usually not used in the interval timer mode. However, set the TP0IOC2 register to use the external event count input.
Preliminary User's Manual U17703EJ1V0UD
215
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Interval timer mode operation flow Figure 7-5. Software Processing Flow in Interval Timer Mode
FFFFH 16-bit counter 0000H TP0CE bit TP0CCR0 register TOP00 pin output INTTP0CC0 signal D0 D0 D0 D0
<1>
<2>
<1> Count operation start flow
START
Register initial setting TP0CTL0 register (TP0CKS0 to TP0CKS2 bits) TP0CTL1 register, TP0IOC0 register, TP0CCR0 register
Initial setting of these registers is performed before setting the TP0CE bit to 1.
TP0CE bit = 1
The TP0CKS0 to TP0CKS2 bits can be set at the same time when counting has been started (TP0CE bit = 1).
<2> Count operation stop flow
The counter is initialized and counting is stopped by clearing the TP0CE bit to 0.
TP0CE bit = 0
STOP
216
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Interval timer mode operation timing (a) Operation if TP0CCR0 register is cleared to 0000H If the TP0CCR0 register is cleared to 0000H, the INTTP0CC0 signal is generated at each count clock, and the output of the TOP00 pin is inverted. The value of the 16-bit counter is always 0000H.
Count clock 16-bit counter TP0CE bit TP0CCR0 register TOP00 pin output INTTP0CC0 signal Interval time Interval time Interval time Count clock cycle Count clock cycle Count clock cycle 0000H FFFFH 0000H 0000H 0000H 0000H
Preliminary User's Manual U17703EJ1V0UD
217
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Operation if TP0CCR0 register is set to FFFFH If the TP0CCR0 register is set to FFFFH, the 16-bit counter counts up to FFFFH. The counter is cleared to 0000H in synchronization with the next count-up timing. The INTTP0CC0 signal is generated and the output of the TOP00 pin is inverted. At this time, an overflow interrupt request signal (INTTP0OV) is not generated, nor is the overflow flag (TP0OPT0.TP0OVF bit) set to 1.
FFFFH 16-bit counter 0000H TP0CE bit TP0CCR0 register TOP00 pin output INTTP0CC0 signal Interval time Interval time Interval time 10000H x 10000H x 10000H x count clock cycle count clock cycle count clock cycle FFFFH
218
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(c) Notes on rewriting TP0CCR0 register To change the value of the TP0CCR0 register to a smaller value, stop counting once and then change the set value. If the value of the TP0CCR0 register is rewritten to a smaller value during counting, the 16-bit counter may overflow.
FFFFH D1 16-bit counter 0000H TP0CE bit TP0CCR0 register TP0OL0 bit TOP00 pin output INTTP0CC0 signal L D1 D2 D2 D1 D2 D2
Interval time (1)
Interval time (NG)
Interval time (2)
Remark
Interval time (1): (D1 + 1) x Count clock cycle Interval time (NG): (10000H + D2 + 1) x Count clock cycle Interval time (2): (D2 + 1) x Count clock cycle
If the value of the TP0CCR0 register is changed from D1 to D2 while the count value is greater than D2 but less than D1, the count value is transferred to the CCR0 buffer register as soon as the TP0CCR0 register has been rewritten. Consequently, the value of the 16-bit counter that is compared is D2. Because the count value has already exceeded D2, however, the 16-bit counter counts up to FFFFH, overflows, and then counts up again from 0000H. When the count value matches D2, the INTTP0CC0 signal is generated and the output of the TOP00 pin is inverted. Therefore, the INTTP0CC0 signal may not be generated at the interval time "(D1 + 1) x Count clock cycle" or "(D2 + 1) x Count clock cycle" originally expected, but may be generated at an interval of "(10000H + D2 + 1) x Count clock period".
Preliminary User's Manual U17703EJ1V0UD
219
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(d) Operation of TP0CCR1 register Figure 7-6. Configuration of TP0CCR1 Register
TP0CCR1 register
CCR1 buffer register Match signal Clear
Output controller
TOP01 pin
INTTP0CC1 signal
Count clock selection
16-bit counter Match signal
Output controller
TOP00 pin
INTTP0CC0 signal
TP0CE bit
CCR0 buffer register
TP0CCR0 register
220
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
If the set value of the TP0CCR1 register is less than the set value of the TP0CCR0 register, the INTTP0CC1 signal is generated once per cycle. At the same time, the output of the TOP01 pin is inverted. The TOP01 pin outputs a square wave with the same cycle as that output by the TOP00 pin. Figure 7-7. Timing Chart When D01 D11
FFFFH D01 16-bit counter 0000H TP0CE bit TP0CCR0 register TOP00 pin output INTTP0CC0 signal TP0CCR1 register TOP01 pin output INTTP0CC1 signal D11 D01 D11 D11 D01 D11 D01 D11 D01
Preliminary User's Manual U17703EJ1V0UD
221
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
If the set value of the TP0CCR1 register is greater than the set value of the TP0CCR0 register, the count value of the 16-bit counter does not match the value of the TP0CCR1 register. INTTP0CC1 signal is not generated, nor is the output of the TOP01 pin changed. Figure 7-8. Timing Chart When D01 < D11 Consequently, the
FFFFH D01 16-bit counter 0000H TP0CE bit TP0CCR0 register TOP00 pin output INTTP0CC0 signal TP0CCR1 register TOP01 pin output INTTP0CC1 signal L D11 D01 D01 D01 D01
222
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.5.2 External event count mode (TP0MD2 to TP0MD0 bits = 001) In the external event count mode, the valid edge of the external event count input is counted when the TP0CTL0.TP0CE bit is set to 1, and an interrupt request signal (INTTP0CC0) is generated each time the specified number of edges have been counted. The timer output (TOP00, TOP01 pins) cannot be used. Usually, the TP0CCR1 register is not used in the external event count mode. Figure 7-9. Configuration in External Event Count Mode
Clear TIP00 pin (external event count input)
Edge detector
16-bit counter Match signal
INTTP0CC0 signal
TP0CE bit
CCR0 buffer register
TP0CCR0 register
Figure 7-10. Basic Timing in External Event Count Mode
FFFFH 16-bit counter 0000H TP0CE bit TP0CCR0 register INTTP0CC0 signal External event count interval (D0 + 1) External event count interval (D0 + 1) External event count interval (D0 + 1) D0 D0 D0 D0
16-bit counter External event count input (TIP00 pin input) TP0CCR0 register INTTP0CC0 signal
D0 - 1
D0
0000
0001
D0
Remark
This figure shows the basic timing when the rising edge is specified as the valid edge of the external event count input.
Preliminary User's Manual U17703EJ1V0UD
223
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
When the TP0CE bit is set to 1, the value of the 16-bit counter is cleared from FFFFH to 0000H. The counter counts each time the valid edge of external event count input is detected. Additionally, the set value of the TP0CCR0 register is transferred to the CCR0 buffer register. When the count value of the 16-bit counter matches the value of the CCR0 buffer register, the 16-bit counter is cleared to 0000H, and a compare match interrupt request signal (INTTP0CC0) is generated. The INTTP0CC0 signal is generated each time the valid edge of the external event count input has been detected (set value of TP0CCR0 register + 1) times. Figure 7-11. Register Setting for Operation in External Event Count Mode (1/2)
(a) TMP0 control register 0 (TP0CTL0)
TP0CE TP0CTL0 0/1 0 0 0 0 TP0CKS2 TP0CKS1 TP0CKS0 0 0 0 0: Stop counting 1: Enable counting
(b) TMP0 control register 1 (TP0CTL1)
TP0EST TP0EEE TP0CTL1 0 0 0 0 0 TP0MD2 TP0MD1 TP0MD0 0 0 1 0, 0, 1: External event count mode
(c) TMP0 I/O control register 0 (TP0IOC0)
TP0OL1 TP0IOC0 0 0 0 0 0 TP0OE1 TP0OL0 0 0 TP0OE0 0 0: Disable TOP00 pin output 0: Disable TOP01 pin output
(d) TMP0 I/O control register 2 (TP0IOC2)
TP0EES1 TP0EES0 TP0ETS1 TP0ETS0 TP0IOC2 0 0 0 0 0/1 0/1 0 0
Select valid edge of external event count input
224
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-11. Register Setting for Operation in External Event Count Mode (2/2)
(e) TMP0 counter read buffer register (TP0CNT) The count value of the 16-bit counter can be read by reading the TP0CNT register. (f) TMP0 capture/compare register 0 (TP0CCR0) If D0 is set to the TP0CCR0 register, the counter is cleared and a compare match interrupt request signal (INTTP0CC0) is generated when the number of external event counts reaches (D0 + 1). (g) TMP0 capture/compare register 1 (TP0CCR1) Usually, the TP0CCR1 register is not used in the external event count mode. However, the set value of the TP0CCR1 register is transferred to the CCR1 buffer register. When the count value of the 16-bit counter matches the value of the CCR1 buffer register, a compare match interrupt request signal (INTTP0CC1) is generated. Therefore, mask the interrupt signal by using the interrupt mask flag (TP0CCMK1). Remark TMP0 I/O control register 1 (TP0IOC1) and TMP0 option register 0 (TP0OPT0) are not used in the external event count mode.
Preliminary User's Manual U17703EJ1V0UD
225
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) External event count mode operation flow Figure 7-12. Flow of Software Processing in External Event Count Mode
FFFFH 16-bit counter 0000H TP0CE bit TP0CCR0 register INTTP0CC0 signal D0 D0 D0 D0
<1>
<2>
<1> Count operation start flow
START
Register initial setting TP0CTL0 register (TP0CKS0 to TP0CKS2 bits) TP0CTL1 register, TP0IOC0 register, TP0IOC2 register, TP0CCR0 register
Initial setting of these registers is performed before setting the TP0CE bit to 1.
TP0CE bit = 1
The TP0CKS0 to TP0CKS2 bits can be set at the same time when counting has been started (TP0CE bit = 1).
<2> Count operation stop flow
The counter is initialized and counting is stopped by clearing the TP0CE bit to 0.
TP0CE bit = 0
STOP
226
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Operation timing in external event count mode Cautions 1. In the external event count mode, do not set the TP0CCR0 and TP0CCR1 registers to 0000H. 2. In the external event count mode, use of the timer output is disabled. If performing timer output using external event count input, set the interval timer mode, and select the operation enabled by the external event count input for the count clock (TP0CTL1.TP0MD2 to TP0CTL1.TP0MD0 bits = 000, TP0CTL1.TP0EEE bit = 1). (a) Operation if TP0CCR0 register is set to FFFFH If the TP0CCR0 register is set to FFFFH, the 16-bit counter counts to FFFFH each time the valid edge of the external event count signal has been detected. TP0OPT0.TP0OVF bit is not set. The 16-bit counter is cleared to 0000H in synchronization with the next count-up timing, and the INTTP0CC0 signal is generated. At this time, the
FFFFH 16-bit counter 0000H TP0CE bit TP0CCR0 register INTTP0CC0 signal External event count signal interval External event count signal interval External event count signal interval FFFFH
Preliminary User's Manual U17703EJ1V0UD
227
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Notes on rewriting the TP0CCR0 register To change the value of the TP0CCR0 register to a smaller value, stop counting once and then change the set value. If the value of the TP0CCR0 register is rewritten to a smaller value during counting, the 16-bit counter may overflow.
FFFFH D1 16-bit counter 0000H TP0CE bit TP0CCR0 register INTTP0CC0 signal D1 D2 D2 D1 D2 D2
External event count signal interval (1) (D1 + 1)
External event count signal interval (NG) (10000H + D2 + 1)
External event count signal interval (2) (D2 + 1)
If the value of the TP0CCR0 register is changed from D1 to D2 while the count value is greater than D2 but less than D1, the count value is transferred to the CCR0 buffer register as soon as the TP0CCR0 register has been rewritten. Consequently, the value that is compared with the 16-bit counter is D2. Because the count value has already exceeded D2, however, the 16-bit counter counts up to FFFFH, overflows, and then counts up again from 0000H. When the count value matches D2, the INTTP0CC0 signal is generated. Therefore, the INTTP0CC0 signal may not be generated at the valid edge count of "(D1 + 1) times" or "(D2 + 1) times" originally expected, but may be generated at the valid edge count of "(10000H + D2 + 1) times".
228
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(c) Operation of TP0CCR1 register Figure 7-13. Configuration of TP0CCR1 Register
TP0CCR1 register
CCR1 buffer register Match signal Clear
INTTP0CC1 signal
TIP00 pin
Edge detector
16-bit counter Match signal
INTTP0CC0 signal
TP0CE bit
CCR0 buffer register
TP0CCR0 register
If the set value of the TP0CCR1 register is smaller than the set value of the TP0CCR0 register, the INTTP0CC1 signal is generated once per cycle. Figure 7-14. Timing Chart When D01 D11
FFFFH D01 16-bit counter 0000H TP0CE bit TP0CCR0 register INTTP0CC0 signal TP0CCR1 register INTTP0CC1 signal D11 D01 D11 D11 D01 D11 D01 D11 D01
Preliminary User's Manual U17703EJ1V0UD
229
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
If the set value of the TP0CCR1 register is greater than the set value of the TP0CCR0 register, the INTTP0CC1 signal is not generated because the count value of the 16-bit counter and the value of the TP0CCR1 register do not match. Figure 7-15. Timing Chart When D01 < D11
FFFFH D01 16-bit counter 0000H TP0CE bit TP0CCR0 register INTTP0CC0 signal TP0CCR1 register INTTP0CC1 signal L D11 D01 D01 D01 D01
230
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.5.3 External trigger pulse output mode (TP0MD2 to TP0MD0 bits = 010) In the external trigger pulse output mode, 16-bit timer/event counter P waits for a trigger when the TP0CTL0.TP0CE bit is set to 1. When the valid edge of an external trigger input signal is detected, 16-bit timer/event counter P starts counting, and outputs a PWM waveform from the TOP01 pin. Pulses can also be output by generating a software trigger instead of using the external trigger. When using a software trigger, a square wave that has one cycle of the PWM waveform as half its cycle can also be output from the TOP00 pin. Figure 7-16. Configuration in External Trigger Pulse Output Mode
TP0CCR1 register TIP00 pin Edge detector CCR1 buffer register Software trigger generation Match signal Clear Count clock selection Count start control Transfer Output S controller R (RS-FF) TOP01 pin
INTTP0CC1 signal
16-bit counter Match signal
Output controller
TOP00 pin
INTTP0CC0 signal
TP0CE bit
CCR0 buffer register Transfer TP0CCR0 register
Preliminary User's Manual U17703EJ1V0UD
231
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-17. Basic Timing in External Trigger Pulse Output Mode
FFFFH D0 16-bit counter 0000H TP0CE bit External trigger input (TIP00 pin input) TP0CCR0 register INTTP0CC0 signal TOP00 pin output (software trigger) TP0CCR1 register INTTP0CC1 signal TOP01 pin output Wait Active level for width (D1) trigger Cycle (D0 + 1) Active level width (D1) Cycle (D0 + 1) Active level width (D1) Cycle (D0 + 1) D1 D0 D1 D1 D0 D1 D0 D1 D0
16-bit timer/event counter P waits for a trigger when the TP0CE bit is set to 1. When the trigger is generated, the 16-bit counter is cleared from FFFFH to 0000H, starts counting at the same time, and outputs a PWM waveform from the TOP01 pin. If the trigger is generated again while the counter is operating, the counter is cleared to 0000H and restarted. (The output of the TOP00 pin is inverted. The TOP01 pin outputs a high level regardless of the status (high/low) when a trigger occurs.) The active level width, cycle, and duty factor of the PWM waveform can be calculated as follows. Active level width = (Set value of TP0CCR1 register) x Count clock cycle Cycle = (Set value of TP0CCR0 register + 1) x Count clock cycle Duty factor = (Set value of TP0CCR1 register)/(Set value of TP0CCR0 register + 1) The compare match interrupt request signal INTTP0CC0 is generated when the 16-bit counter counts next time after its count value matches the value of the CCR0 buffer register, and the 16-bit counter is cleared to 0000H. The compare match interrupt request signal INTTP0CC1 is generated when the count value of the 16-bit counter matches the value of the CCR1 buffer register. The value set to the TP0CCRa register is transferred to the CCRa buffer register when the count value of the 16-bit counter matches the value of the CCRa buffer register and the 16-bit counter is cleared to 0000H. The valid edge of an external trigger input signal, or setting the software trigger (TP0CTL1.TP0EST bit) to 1 is used as the trigger. Remark a = 0, 1
232
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-18. Setting of Registers in External Trigger Pulse Output Mode (1/2)
(a) TMP0 control register 0 (TP0CTL0)
TP0CE TP0CTL0 0/1 0 0 0 0 TP0CKS2 TP0CKS1 TP0CKS0 0/1 0/1 0/1
Select count clockNote 0: Stop counting 1: Enable counting
Note The setting is invalid when the TP0CTL1.TP0EEE bit = 1. (b) TMP0 control register 1 (TP0CTL1)
TP0EST TP0EEE TP0CTL1 0 0/1 0/1 0 0 TP0MD2 TP0MD1 TP0MD0 0 1 0 0, 1, 0: External trigger pulse output mode 0: Operate on count clock selected by TP0CKS0 to TP0CKS2 bits 1: Count with external event input signal Generate software trigger when 1 is written
(c) TMP0 I/O control register 0 (TP0IOC0)
TP0OL1 TP0IOC0 0 0 0 0 0/1 TP0OE1 TP0OL0 0/1 0/1 TP0OE0 0/1 0: Disable TOP00 pin output 1: Enable TOP00 pin output Settings of output level while operation of TOP00 pin is disabled 0: Low level 1: High level 0: Disable TOP01 pin output 1: Enable TOP01 pin output Specifies active level of TOP01 pin output 0: Active-high 1: Active-low * When TP0OL1 bit = 0 16-bit counter TOP01 pin output * When TP0OL1 bit = 1 16-bit counter TOP01 pin output
Preliminary User's Manual U17703EJ1V0UD
233
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-18. Setting of Registers in External Trigger Pulse Output Mode (2/2)
(d) TMP0 I/O control register 2 (TP0IOC2)
TP0EES1 TP0EES0 TP0ETS1 TP0ETS0 TP0IOC2 0 0 0 0 0/1 0/1 0/1 0/1 Select valid edge of external trigger input Select valid edge of external event count input
(e) TMP0 counter read buffer register (TP0CNT) The value of the 16-bit counter can be read by reading the TP0CNT register. (f) TMP0 capture/compare registers 0 and 1 (TP0CCR0 and TP0CCR1) If D0 is set to the TP0CCR0 register and D1 to the TP0CCR1 register, the cycle and active level of the PWM waveform are as follows. Cycle = (D0 + 1) x Count clock cycle Active level width = D1 x Count clock cycle Remark TMP0 I/O control register 1 (TP0IOC1) and TMP0 option register 0 (TP0OPT0) are not used in the external trigger pulse output mode.
234
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operation flow in external trigger pulse output mode Figure 7-19. Software Processing Flow in External Trigger Pulse Output Mode (1/2)
FFFFH D01 16-bit counter 0000H TP0CE bit External trigger input (TIP00 pin input) TP0CCR0 register CCR0 buffer register INTTP0CC0 signal TOP00 pin output (software trigger) TP0CCR1 register CCR1 buffer register INTTP0CC1 signal TOP01 pin output D10 D10 D10 D10 D11 D11 D10 D10 D00 D00 D01 D01 D00 D00 D00 D10 D00 D10 D10 D11 D01 D11 D01 D00 D10
<1>
<2>
<3>
<4>
<5>
Preliminary User's Manual U17703EJ1V0UD
235
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-19. Software Processing Flow in External Trigger Pulse Output Mode (2/2)
<1> Count operation start flow
<3> TP0CCR0, TP0CCR1 register setting change flow
Only writing of the TP0CCR1 register must be performed when the set duty factor is changed. When the counter is cleared after setting, the value of the TP0CCRa register is transferred to the CCRa buffer register.
START
Setting of TP0CCR1 register Register initial setting TP0CTL0 register (TP0CKS0 to TP0CKS2 bits) TP0CTL1 register, TP0IOC0 register, TP0IOC2 register, TP0CCR0 register, TP0CCR1 register Initial setting of these registers is performed before setting the TP0CE bit to 1.
<4> TP0CCR0, TP0CCR1 register setting change flow
The TP0CKS0 to TP0CKS2 bits can be set at the same time when counting is enabled (TP0CE bit = 1). Trigger wait status
TP0CE bit = 1
Setting of TP0CCR0 register
When the counter is cleared after setting, the value of the TP0CCRa register is transferred to the CCRa buffer register.
Setting of TP0CCR1 register
<2> TP0CCR0 and TP0CCR1 register setting change flow
<5> Count operation stop flow
Setting of TP0CCR0 register
TP0CCR1 register write processing is necessary only when the set cycle is changed. When the counter is cleared after setting, the value of the TP0CCRa register is transferred to the CCRa buffer register.
TP0CE bit = 0
Counting is stopped.
Setting of TP0CCR1 register
STOP
Remark
a = 0, 1
236
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) External trigger pulse output mode operation timing (a) Note on changing pulse width during operation To change the PWM waveform while the counter is operating, write the TP0CCR1 register last. Rewrite the TP0CCRa register after writing the TP0CCR1 register after the INTTP0CC0 signal is detected.
FFFFH D01 16-bit counter 0000H TP0CE bit External trigger input (TIP00 pin input) TP0CCR0 register CCR0 buffer register INTTP0CC0 signal TOP00 pin output (software trigger) TP0CCR1 register CCR1 buffer register INTTP0CC1 signal TOP01 pin output D10 D10 D11 D11 D00 D00 D01 D01 D00 D10 D00 D10 D00 D10 D11 D11 D01
Preliminary User's Manual U17703EJ1V0UD
237
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
In order to transfer data from the TP0CCRa register to the CCRa buffer register, the TP0CCR1 register must be written. To change both the cycle and active level width of the PWM waveform at this time, first set the cycle to the TP0CCR0 register and then set the active level width to the TP0CCR1 register. To change only the cycle of the PWM waveform, first set the cycle to the TP0CCR0 register, and then write the same value to the TP0CCR1 register. To change only the active level width (duty factor) of the PWM waveform, only the TP0CCR1 register has to be set. After data is written to the TP0CCR1 register, the value written to the TP0CCRa register is transferred to the CCRa buffer register in synchronization with clearing of the 16-bit counter, and is used as the value compared with the 16-bit counter. To write the TP0CCR0 or TP0CCR1 register again after writing the TP0CCR1 register once, do so after the INTTP0CC0 signal is generated. Otherwise, the value of the CCRa buffer register may become undefined because the timing of transferring data from the TP0CCRa register to the CCRa buffer register conflicts with writing the TP0CCRa register. Remark a = 0, 1
238
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) 0%/100% output of PWM waveform To output a 0% waveform, clear the TP0CCR1 register to 0000H. If the set value of the TP0CCR0 register is FFFFH, the INTTP0CC1 signal is generated periodically.
Count clock 16-bit counter TP0CE bit TP0CCR0 register TP0CCR1 register INTTP0CC0 signal INTTP0CC1 signal TOP01 pin output D0 0000H D0 0000H D0 0000H FFFF 0000 D0 - 1 D0 0000 0001 D0 - 1 D0 0000
To output a 100% waveform, set a value of (set value of TP0CCR0 register + 1) to the TP0CCR1 register. If the set value of the TP0CCR0 register is FFFFH, 100% output cannot be produced.
Count clock 16-bit counter TP0CE bit TP0CCR0 register TP0CCR1 register INTTP0CC0 signal INTTP0CC1 signal TOP01 pin output D0 D0 + 1 D0 D0 + 1 D0 D0 + 1 FFFF 0000 D0 - 1 D0 0000 0001 D0 - 1 D0 0000
Preliminary User's Manual U17703EJ1V0UD
239
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(c) Conflict between trigger detection and match with TP0CCR1 register If the trigger is detected immediately after the INTTP0CC1 signal is generated, the 16-bit counter is immediately cleared to 0000H, the output signal of the TOP01 pin is asserted, and the counter continues counting. Consequently, the inactive period of the PWM waveform is shortened.
16-bit counter External trigger input (TIP00 pin input) TP0CCR1 register INTTP0CC1 signal TOP01 pin output
FFFF
0000
D1 - 1
0000
D1
Shortened
If the trigger is detected immediately before the INTTP0CC1 signal is generated, the INTTP0CC1 signal is not generated, and the 16-bit counter is cleared to 0000H and continues counting. The output signal of the TOP01 pin remains active. Consequently, the active period of the PWM waveform is extended.
16-bit counter External trigger input (TIP00 pin input) TP0CCR1 register INTTP0CC1 signal TOP01 pin output
FFFF
0000
D1 - 2
0000
0001
D1 - 1
D1
D1
Extended
240
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(d) Conflict between trigger detection and match with TP0CCR0 register If the trigger is detected immediately after the INTTP0CC0 signal is generated, the 16-bit counter is cleared to 0000H and continues counting up. Therefore, the active period of the TOP01 pin is extended by time from generation of the INTTP0CC0 signal to trigger detection.
16-bit counter External trigger input (TIP00 pin input) TP0CCR0 register INTTP0CC0 signal TOP01 pin output
FFFF
0000
D0 - 1
D0
0000
0000
D0
Extended
If the trigger is detected immediately before the INTTP0CC0 signal is generated, the INTTP0CC0 signal is not generated. The 16-bit counter is cleared to 0000H, the TOP01 pin is asserted, and the counter continues counting. Consequently, the inactive period of the PWM waveform is shortened.
16-bit counter External trigger input (TIP00 pin input) TP0CCR0 register INTTP0CC0 signal TOP01 pin output
FFFF
0000
D0 - 1
D0
0000
0001
D0
Shortened
Preliminary User's Manual U17703EJ1V0UD
241
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(e) Generation timing of compare match interrupt request signal (INTTP0CC1) The timing of generation of the INTTP0CC1 signal in the external trigger pulse output mode differs from the timing of other INTTP0CC1 signals; the INTTP0CC1 signal is generated when the count value of the 16-bit counter matches the value of the TP0CCR1 register.
Count clock 16-bit counter TP0CCR1 register TOP01 pin output INTTP0CC1 signal D1 - 1 D1 - 1 D1 D1 D1 + 1 D1 + 2
Usually, the INTTP0CC1 signal is generated in synchronization with the next count up, after the count value of the 16-bit counter matches the value of the TP0CCR1 register. In the external trigger pulse output mode, however, it is generated one clock earlier. This is because the timing is changed to match the timing of changing the output signal of the TOP01 pin.
242
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.5.4 One-shot pulse output mode (TP0MD2 to TP0MD0 bits = 011) In the one-shot pulse output mode, 16-bit timer/event counter P waits for a trigger when the TP0CTL0.TP0CE bit is set to 1. When the valid edge of an external trigger input is detected, 16-bit timer/event counter P starts counting, and outputs a one-shot pulse from the TOP01 pin. Instead of the external trigger, a software trigger can also be generated to output the pulse. When the software trigger is used, the TOP00 pin outputs the active level while the 16-bit counter is counting, and the inactive level when the counter is stopped (waiting for a trigger). Figure 7-20. Configuration in One-Shot Pulse Output Mode
TP0CCR1 register TIP00 pin Edge detector CCR1 buffer register Software trigger generation Match signal Clear Count clock selection Count start control Output S controller R (RS-FF) Transfer Output S controller R (RS-FF) TOP01 pin
INTTP0CC1 signal
16-bit counter Match signal
TOP00 pin
INTTP0CC0 signal
TP0CE bit
CCR0 buffer register Transfer TP0CCR0 register
Preliminary User's Manual U17703EJ1V0UD
243
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-21. Basic Timing in One-Shot Pulse Output Mode
FFFFH D0 16-bit counter 0000H TP0CE bit External trigger input (TIP00 pin input) TP0CCR0 register INTTP0CC0 signal TOP00 pin output (software trigger) TP0CCR1 register INTTP0CC1 signal TOP01 pin output Delay (D1) Active level width (D0 - D1 + 1) Delay (D1) Delay Active level width (D1) (D0 - D1 + 1) Active level width (D0 - D1 + 1) D1 D0 D1 D1 D0 D1 D0
When the TP0CE bit is set to 1, 16-bit timer/event counter P waits for a trigger. When the trigger is generated, the 16-bit counter is cleared from FFFFH to 0000H, starts counting, and outputs a one-shot pulse from the TOP01 pin. After the one-shot pulse is output, the 16-bit counter is set to FFFFH, stops counting, and waits for a trigger. If a trigger is generated again while the one-shot pulse is being output, it is ignored. The output delay period and active level width of the one-shot pulse can be calculated as follows. Output delay period = (Set value of TP0CCR1 register) x Count clock cycle Active level width = (Set value of TP0CCR0 register - Set value of TP0CCR1 register + 1) x Count clock cycle The compare match interrupt request signal INTTP0CC0 is generated when the 16-bit counter counts after its count value matches the value of the CCR0 buffer register. The compare match interrupt request signal INTTP0CC1 is generated when the count value of the 16-bit counter matches the value of the CCR1 buffer register. The valid edge of an external trigger input or setting the software trigger (TP0CTL1.TP0EST bit) to 1 is used as the trigger.
244
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-22. Setting of Registers in One-Shot Pulse Output Mode (1/2)
(a) TMP0 control register 0 (TP0CTL0)
TP0CE TP0CTL0 0/1 0 0 0 0 TP0CKS2 TP0CKS1 TP0CKS0 0/1 0/1 0/1
Select count clockNote 0: Stop counting 1: Enable counting
Note The setting is invalid when the TP0CTL1.TP0EEE bit = 1. (b) TMP0 control register 1 (TP0CTL1)
TP0EST TP0EEE TP0CTL1 0 0/1 0/1 0 0 TP0MD2 TP0MD1 TP0MD0 0 1 1 0, 1, 1: One-shot pulse output mode 0: Operate on count clock selected by TP0CKS0 to TP0CKS2 bits 1: Count external event input signal Generate software trigger when 1 is written
(c) TMP0 I/O control register 0 (TP0IOC0)
TP0OL1 TP0IOC0 0 0 0 0 0/1 TP0OE1 TP0OL0 0/1 0/1 TP0OE0 0/1 0: Disable TOP00 pin output 1: Enable TOP00 pin output Setting of output level while operation of TOP00 pin is disabled 0: Low level 1: High level 0: Disable TOP01 pin output 1: Enable TOP01 pin output Specifies active level of TOP01 pin output 0: Active-high 1: Active-low
* When TP0OL1 bit = 0 16-bit counter TOP01 pin output
* When TP0OL1 bit = 1 16-bit counter TOP01 pin output
Preliminary User's Manual U17703EJ1V0UD
245
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-22. Setting of Registers in One-Shot Pulse Output Mode (2/2)
(d) TMP0 I/O control register 2 (TP0IOC2)
TP0EES1 TP0EES0 TP0ETS1 TP0ETS0 TP0IOC2 0 0 0 0 0/1 0/1 0/1 0/1
Select valid edge of external trigger input Select valid edge of external event count input
(e) TMP0 counter read buffer register (TP0CNT) The value of the 16-bit counter can be read by reading the TP0CNT register. (f) TMP0 capture/compare registers 0 and 1 (TP0CCR0 and TP0CCR1) If D0 is set to the TP0CCR0 register and D1 to the TP0CCR1 register, the active level width and output delay period of the one-shot pulse are as follows. Active level width = (D1 - D0 + 1) x Count clock cycle Output delay period = D1 x Count clock cycle Remark TMP0 I/O control register 1 (TP0IOC1) and TMP0 option register 0 (TP0OPT0) are not used in the one-shot pulse output mode.
246
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operation flow in one-shot pulse output mode Figure 7-23. Software Processing Flow in One-Shot Pulse Output Mode
FFFFH D00 16-bit counter 0000H TP0CE bit External trigger input (TIP00 pin input) TP0CCR0 register INTTP0CC0 signal TP0CCR1 register INTTP0CC1 signal TOP01 pin output D10 D11 D00 D01 D01 D10 D11
<1>
<2>
<3>
<1> Count operation start flow
<2> TP0CCR0, TP0CCR1 register setting change flow
As rewriting the TP0CCRm register immediately forwards to the CCRm buffer register, rewriting immediately after the generation of the INTTP0CCR0 signal is recommended.
START Setting of TP0CCR0, TP0CCR1 registers Register initial setting TP0CTL0 register (TP0CKS0 to TP0CKS2 bits) TP0CTL1 register, TP0IOC0 register, TP0IOC2 register, TP0CCR0 register, TP0CCR1 register Initial setting of these registers is performed before setting the TP0CE bit to 1.
<3> Count operation stop flow
Count operation is stopped
TP0CE bit = 1
The TP0CKS0 to TP0CKS2 bits can be set at the same time when counting has been started (TP0CE bit = 1). Trigger wait status
TP0CE bit = 0
STOP
Remark
m = 0, 1
Preliminary User's Manual U17703EJ1V0UD
247
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Operation timing in one-shot pulse output mode (a) Note on rewriting TP0CCRa register To change the set value of the TP0CCRa register to a smaller value, stop counting once, and then change the set value. If the value of the TP0CCRa register is rewritten to a smaller value during counting, the 16-bit counter may overflow.
FFFFH D00 16-bit counter 0000H TP0CE bit External trigger input (TIP00 pin input) TP0CCR0 register INTTP0CC0 signal TOP00 pin output (software trigger) TP0CCR1 register INTTP0CC1 signal TOP01 pin output Delay (D10) Delay (D10) Active level width (D00 - D10 + 1) Delay (10000H + D11) Active level width (D01 - D11 + 1) D10 D11 D00 D01 D10 D10 D00 D10 D00 D01 D11
Active level width (D00 - D10 + 1)
When the TP0CCR0 register is rewritten from D00 to D01 and the TP0CCR1 register from D10 to D11 where D00 > D01 and D10 > D11, if the TP0CCR1 register is rewritten when the count value of the 16-bit counter is greater than D11 and less than D10 and if the TP0CCR0 register is rewritten when the count value is greater than D01 and less than D00, each set value is reflected as soon as the register has been rewritten and compared with the count value. The counter counts up to FFFFH and then counts up again from 0000H. When the count value matches D11, the counter generates the INTTP0CC1 signal and asserts the TOP01 pin. When the count value matches D01, the counter generates the INTTP0CC0 signal, deasserts the TOP01 pin, and stops counting. Therefore, the counter may output a pulse with a delay period or active period different from that of the one-shot pulse that is originally expected. Remark a = 0, 1
248
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Generation timing of compare match interrupt request signal (INTTP0CC1) The generation timing of the INTTP0CC1 signal in the one-shot pulse output mode is different from other INTTP0CC1 signals; the INTTP0CC1 signal is generated when the count value of the 16-bit counter matches the value of the TP0CCR1 register.
Count clock 16-bit counter TP0CCR1 register TOP01 pin output INTTP0CC1 signal D1 - 2 D1 - 1 D1 D1 D1 + 1 D1 + 2
Usually, the INTTP0CC1 signal is generated when the 16-bit counter counts up next time after its count value matches the value of the TP0CCR1 register. In the one-shot pulse output mode, however, it is generated one clock earlier. This is because the timing is changed to match the change timing of the TOP01 pin.
Preliminary User's Manual U17703EJ1V0UD
249
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.5.5 PWM output mode (TP0MD2 to TP0MD0 bits = 100) In the PWM output mode, a PWM waveform is output from the TOP01 pin when the TP0CTL0.TP0CE bit is set to 1. In addition, a pulse with one cycle of the PWM waveform as half its cycle is output from the TOP00 pin. Figure 7-24. Configuration in PWM Output Mode
TP0CCR1 register Transfer CCR1 buffer register Match signal Clear Count clock selection Count start control Output S controller R (RS-FF) TOP01 pin
INTTP0CC1 signal
16-bit counter Match signal
Output controller
TOP00 pin
INTTP0CC0 signal
TP0CE bit
CCR0 buffer register Transfer TP0CCR0 register
250
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-25. Basic Timing in PWM Output Mode
FFFFH D01 16-bit counter 0000H TP0CE bit TP0CCR0 register CCR0 buffer register INTTP0CC0 signal TOP00 pin output TP0CCR1 register CCR1 buffer register INTTP0CC1 signal TOP01 pin output D10 D10 D11 D11 D00 D00 D01 D01 D00 D10 D00 D10 D00 D10 D11 D11 D01
Active period (D10)
Cycle (D00 + 1)
Inactive period (D00 - D10 + 1)
When the TP0CE bit is set to 1, the 16-bit counter is cleared from FFFFH to 0000H, starts counting, and outputs a PWM waveform from the TOP01 pin. The active level width, cycle, and duty factor of the PWM waveform can be calculated as follows. Active level width = (Set value of TP0CCR1 register ) x Count clock cycle Cycle = (Set value of TP0CCR0 register + 1) x Count clock cycle Duty factor = (Set value of TP0CCR1 register)/(Set value of TP0CCR0 register + 1) The PWM waveform can be changed by rewriting the TP0CCRa register while the counter is operating. The newly written value is reflected when the count value of the 16-bit counter matches the value of the CCR0 buffer register and the 16-bit counter is cleared to 0000H. The compare match interrupt request signal INTTP0CC0 is generated when the 16-bit counter counts next time after its count value matches the value of the CCR0 buffer register, and the 16-bit counter is cleared to 0000H. The compare match interrupt request signal INTTP0CC1 is generated when the count value of the 16-bit counter matches the value of the CCR1 buffer register. The value set to the TP0CCRa register is transferred to the CCRa buffer register when the count value of the 16-bit counter matches the value of the CCRa buffer register and the 16-bit counter is cleared to 0000H. Remark a = 0, 1
Preliminary User's Manual U17703EJ1V0UD
251
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-26. Register Setting in PWM Output Mode (1/2)
(a) TMP0 control register 0 (TP0CTL0)
TP0CE TP0CTL0 0/1 0 0 0 0 TP0CKS2 TP0CKS1 TP0CKS0 0/1 0/1 0/1
Select count clockNote 0: Stop counting 1: Enable counting
Note The setting is invalid when the TP0CTL1.TP0EEE bit = 1. (b) TMP0 control register 1 (TP0CTL1)
TP0EST TP0EEE TP0CTL1 0 0 0/1 0 0 TP0MD2 TP0MD1 TP0MD0 1 0 0 1, 0, 0: PWM output mode 0: Operate on count clock selected by TP0CKS0 to TP0CKS2 bits 1: Count with external event count input signal
(c) TMP0 I/O control register 0 (TP0IOC0)
TP0OL1 TP0IOC0 0 0 0 0 0/1 TP0OE1 TP0OL0 0/1 0/1 TP0OE0 0/1 0: Disable TOP00 pin output 1: Enable TOP00 pin output Setting of output level while operation of TOP00 pin is disabled 0: Low level 1: High level 0: Disable TOP01 pin output 1: Enable TOP01 pin output Specifies active level of TOP01 pin output 0: Active-high 1: Active-low
* When TP0OL1 bit = 0 16-bit counter TOP01 pin output
* When TP0OL1 bit = 1 16-bit counter TOP01 pin output
252
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-26. Register Setting in PWM Output Mode (2/2)
(d) TMP0 I/O control register 2 (TP0IOC2)
TP0EES1 TP0EES0 TP0ETS1 TP0ETS0 TP0IOC2 0 0 0 0 0/1 0/1 0 0
Select valid edge of external event count input.
(e) TMP0 counter read buffer register (TP0CNT) The value of the 16-bit counter can be read by reading the TP0CNT register. (f) TMP0 capture/compare registers 0 and 1 (TP0CCR0 and TP0CCR1) If D0 is set to the TP0CCR0 register and D1 to the TP0CCR1 register, the cycle and active level of the PWM waveform are as follows. Cycle = (D0 + 1) x Count clock cycle Active level width = D1 x Count clock cycle Remark TMP0 I/O control register 1 (TP0IOC1) and TMP0 option register 0 (TP0OPT0) are not used in the PWM output mode.
Preliminary User's Manual U17703EJ1V0UD
253
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operation flow in PWM output mode Figure 7-27. Software Processing Flow in PWM Output Mode (1/2)
FFFFH D01 16-bit counter D10 0000H TP0CE bit TP0CCR0 register CCR0 buffer register INTTP0CC0 signal TOP00 pin output TP0CCR1 register CCR1 buffer register INTTP0CC1 signal TOP01 pin output D10 D10 D10 D10 D11 D11 D10 D10 D00 D00 D01 D01 D00 D00 D00 D10 D00 D10 D11 D01 D11 D10 D01 D00
<1>
<2>
<3>
<4>
<5>
254
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-27. Software Processing Flow in PWM Output Mode (2/2)
<1> Count operation start flow
<3> TP0CCR0, TP0CCR1 register setting change flow
Only writing of the TP0CCR1 register must be performed when the set duty factor is changed. When the counter is cleared after setting, the value of compare register a is transferred to the CCRa buffer register.
START
Setting of TP0CCR1 register Register initial setting TP0CTL0 register (TP0CKS0 to TP0CKS2 bits) TP0CTL1 register, TP0IOC0 register, TP0IOC2 register, TP0CCR0 register, TP0CCR1 register Initial setting of these registers is performed before setting the TP0CE bit to 1.
<4> TP0CCR0, TP0CCR1 register setting change flow
The TP0CKS0 to TP0CKS2 bits can be set at the same time when counting is enabled (TP0CE bit = 1).
TP0CE bit = 1
Setting of TP0CCR0 register
When the counter is cleared after setting, the value of compare register a is transferred to the CCRa buffer register.
Setting of TP0CCR1 register
<2> TP0CCR0, TP0CCR1 register setting change flow
<5> Count operation stop flow
Setting of TP0CCR0 register
TP0CCR1 write processing is necessary only when the set cycle is changed. When the counter is cleared after setting, the value of the TP0CCRa register is transferred to the CCRa buffer register.
TP0CE bit = 0
Counting is stopped.
Setting of TP0CCR1 register
STOP
Remark
a = 0, 1
Preliminary User's Manual U17703EJ1V0UD
255
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) PWM output mode operation timing (a) Changing pulse width during operation To change the PWM waveform while the counter is operating, write the TP0CCR1 register last. Rewrite the TP0CCRa register after writing the TP0CCR1 register after the INTTP0CC1 signal is detected.
FFFFH D01 16-bit counter 0000H TP0CE bit TP0CCR0 register CCR0 buffer register TP0CCR1 register CCR1 buffer register TOP01 pin output INTTP0CC0 signal D00 D00 D10 D10 D11 D11 D01 D01 D00 D10 D00 D10 D00 D10 D11 D11 D01
To transfer data from the TP0CCRa register to the CCRa buffer register, the TP0CCR1 register must be written. To change both the cycle and active level of the PWM waveform at this time, first set the cycle to the TP0CCR0 register and then set the active level to the TP0CCR1 register. To change only the cycle of the PWM waveform, first set the cycle to the TP0CCR0 register, and then write the same value to the TP0CCR1 register. To change only the active level width (duty factor) of the PWM waveform, only the TP0CCR1 register has to be set. After data is written to the TP0CCR1 register, the value written to the TP0CCRa register is transferred to the CCRa buffer register in synchronization with clearing of the 16-bit counter, and is used as the value compared with the 16-bit counter. To write the TP0CCR0 or TP0CCR1 register again after writing the TP0CCR1 register once, do so after the INTTP0CC0 signal is generated. Otherwise, the value of the CCRa buffer register may become undefined because the timing of transferring data from the TP0CCRa register to the CCRa buffer register conflicts with writing the TP0CCRa register. Remark a = 0, 1
256
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) 0%/100% output of PWM waveform To output a 0% waveform, set the TP0CCR1 register to 0000H. If the set value of the TP0CCR0 register is FFFFH, the INTTP0CC1 signal is generated periodically.
Count clock 16-bit counter TP0CE bit TP0CCR0 register TP0CCR1 register INTTP0CC0 signal INTTP0CC1 signal TOP01 pin output D00 0000H D00 0000H D00 0000H FFFF 0000 D00 - 1 D00 0000 0001 D00 - 1 D00 0000
To output a 100% waveform, set a value of (set value of TP0CCR0 register + 1) to the TP0CCR1 register. If the set value of the TP0CCR0 register is FFFFH, 100% output cannot be produced.
Count clock 16-bit counter TP0CE bit TP0CCR0 register TP0CCR1 register INTTP0CC0 signal INTTP0CC1 signal TOP01 pin output D00 D00 + 1 D00 D00 + 1 D00 D00 + 1 FFFF 0000 D00 - 1 D00 0000 0001 D00 - 1 D00 0000
Preliminary User's Manual U17703EJ1V0UD
257
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(c) Generation timing of compare match interrupt request signal (INTTP0CC1) The timing of generation of the INTTP0CC1 signal in the PWM output mode differs from the timing of other INTTP0CC1 signals; the INTTP0CC1 signal is generated when the count value of the 16-bit counter matches the value of the TP0CCR1 register.
Count clock 16-bit counter TP0CCR1 register TOP01 pin output INTTP0CC1 signal D1 - 2 D1 - 1 D1 D1 D1 + 1 D1 + 2
Usually, the INTTP0CC1 signal is generated in synchronization with the next counting up after the count value of the 16-bit counter matches the value of the TP0CCR1 register. In the PWM output mode, however, it is generated one clock earlier. This is because the timing is changed to match the change timing of the output signal of the TOP01 pin.
258
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.5.6 Free-running timer mode (TP0MD2 to TP0MD0 bits = 101) In the free-running timer mode, 16-bit timer/event counter P starts counting when the TP0CTL0.TP0CE bit is set to 1. At this time, the TP0CCRa register can be used as a compare register or a capture register, depending on the setting of the TP0OPT0.TP0CCS0 and TP0OPT0.TP0CCS1 bits. Figure 7-28. Configuration in Free-Running Timer Mode
TP0CCR1 register (compare)
Output controller
TOP01 pin output
TP0CCR0 register (compare)
Output controller
TOP00 pin output
TP0CCS0, TP0CCS1 bits (capture/compare selection) Internal count clock TIP00 pin (external event count input/ capture trigger input) Edge detector Count clock selection TP0CE bit Digital noise eliminator Digital noise eliminator Edge detector TP0CCR0 register (capture) Edge detector TP0CCR1 register (capture)
16-bit counter
INTTP0OV signal
0 1 0
INTTP0CC1 signal
INTTP0CC0 signal 1
TIP01 pin (capture trigger input)
Remark
a = 0, 1
Preliminary User's Manual U17703EJ1V0UD
259
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
When the TP0CE bit is set to 1, 16-bit timer/event counter P starts counting, and the output signals of the TOP00 and TOP01 pins are inverted. When the count value of the 16-bit counter later matches the set value of the TP0CCRa register, a compare match interrupt request signal (INTTP0CCa) is generated, and the output signal of the TOP0a pin is inverted. The 16-bit counter continues counting in synchronization with the count clock. When it counts up to FFFFH, it generates an overflow interrupt request signal (INTTP0OV) at the next clock, is cleared to 0000H, and continues counting. At this time, the overflow flag (TP0OPT0.TP0OVF bit) is also set to 1. Clear the overflow flag to 0 by executing the CLR instruction by software. The TP0CCRa register can be rewritten while the counter is operating. If it is rewritten, the new value is reflected at that time, and compared with the count value. Figure 7-29. Basic Timing in Free-Running Timer Mode (Compare Function)
FFFFH D00 16-bit counter D10 0000H TP0CE bit TP0CCR0 register INTTP0CC0 signal TOP00 pin output TP0CCR1 register INTTP0CC1 signal TOP01 pin output INTTP0OV signal TP0OVF bit Cleared to 0 by CLR instruction Cleared to 0 by CLR instruction Cleared to 0 by CLR instruction Cleared to 0 by CLR instruction D10 D11 D00 D01 D10 D11 D00 D01 D11 D01 D11
Remark
a = 0, 1
260
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
When the TP0CE bit is set to 1, the 16-bit counter starts counting. When the valid edge input to the TIP0a pin is detected, the count value of the 16-bit counter is stored in the TP0CCRa register, and a capture interrupt request signal (INTTP0CCa) is generated. The 16-bit counter continues counting in synchronization with the count clock. When it counts up to FFFFH, it generates an overflow interrupt request signal (INTTP0OV) at the next clock, is cleared to 0000H, and continues counting. At this time, the overflow flag (TP0OPT0.TP0OVF bit) is also set to 1. Clear the overflow flag to 0 by executing the CLR instruction by software. Figure 7-30. Basic Timing in Free-Running Timer Mode (Capture Function)
FFFFH D10 D00 16-bit counter 0000H TP0CE bit TIP00 pin input TP0CCR0 register INTTP0CC0 signal TIP01 pin input TP0CCR1 register INTTP0CC1 signal INTTP0OV signal TP0OVF bit Cleared to 0 by CLR instruction Cleared to 0 by CLR instruction Cleared to 0 by CLR instruction D10 D11 D12 D13 D00 D01 D02 D03 D01 D02 D03 D11 D12 D13
Preliminary User's Manual U17703EJ1V0UD
261
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-31. Register Setting in Free-Running Timer Mode (1/2)
(a) TMP0 control register 0 (TP0CTL0)
TP0CE TP0CTL0 0/1 0 0 0 0 TP0CKS2 TP0CKS1 TP0CKS0 0/1 0/1 0/1
Select count clockNote 0: Stop counting 1: Enable counting
Note The setting is invalid when the TP0CTL1.TP0EEE bit = 1 (b) TMP0 control register 1 (TP0CTL1)
TP0EST TP0EEE TP0CTL1 0 0 0/1 0 0 TP0MD2 TP0MD1 TP0MD0 1 0 1 1, 0, 1: Free-running mode 0: Operate with count clock selected by TP0CKS0 to TP0CKS2 bits 1: Count on external event count input signal
(c) TMP0 I/O control register 0 (TP0IOC0)
TP0OL1 TP0IOC0 0 0 0 0 0/1 TP0OE1 TP0OL0 0/1 0/1 TP0OE0 0/1 0: Disable TOP00 pin output 1: Enable TOP00 pin output Setting of output level with operation of TOP00 pin disabled 0: Low level 1: High level 0: Disable TOP01 pin output 1: Enable TOP01 pin output Setting of output level with operation of TOP01 pin disabled 0: Low level 1: High level
262
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-31. Register Setting in Free-Running Timer Mode (2/2)
(d) TMP0 I/O control register 1 (TP0IOC1)
TP0IS3 TP0IOC1 0 0 0 0 0/1 TP0IS2 0/1 TP0IS1 0/1 TP0IS0 0/1
Select valid edge of TIP00 pin input Select valid edge of TIP01 pin input
(e) TMP0 I/O control register 2 (TP0IOC2)
TP0EES1 TP0EES0 TP0ETS1 TP0ETS0 TP0IOC2 0 0 0 0 0/1 0/1 0 0
Select valid edge of external event count input
(f) TMP0 option register 0 (TP0OPT0)
TP0CCS1 TP0CCS0 TP0OPT0 0 0 0/1 0/1 0 0 0 TP0OVF 0/1 Overflow flag Specifies if TP0CCR0 register functions as capture or compare register Specifies if TP0CCR1 register functions as capture or compare register
(g) TMP0 counter read buffer register (TP0CNT) The value of the 16-bit counter can be read by reading the TP0CNT register. (h) TMP0 capture/compare registers 0 and 1 (TP0CCR0 and TP0CCR1) These registers function as capture registers or compare registers depending on the setting of the TP0OPT0.TP0CCSa bit. When the registers function as capture registers, they store the count value of the 16-bit counter when the valid edge input to the TIP0a pin is detected. When the registers function as compare registers and when Da is set to the TP0CCRa register, the INTTP0CCa signal is generated when the counter reaches (Da + 1), and the output signal of the TOP0a pin is inverted. Remark a = 0, 1
Preliminary User's Manual U17703EJ1V0UD
263
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operation flow in free-running timer mode (a) When using capture/compare register as compare register Figure 7-32. Software Processing Flow in Free-Running Timer Mode (Compare Function) (1/2)
FFFFH D00 16-bit counter D10 0000H TP0CE bit TP0CCR0 register INTTP0CC0 signal TOP00 pin output TP0CCR1 register INTTP0CC1 signal TOP01 pin output INTTP0OV signal TP0OVF bit <1> Cleared to 0 by CLR instruction <2> Cleared to 0 by CLR instruction <2> Cleared to 0 by CLR instruction <2> <3> D10 D11 D00 D01 D10 D11 D00 D01 D11 D01 D11
264
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-32. Software Processing Flow in Free-Running Timer Mode (Compare Function) (2/2)
<1> Count operation start flow
START
Register initial setting TP0CTL0 register (TP0CKS0 to TP0CKS2 bits) TP0CTL1 register, TP0IOC0 register, TP0IOC2 register, TP0OPT0 register, TP0CCR0 register, TP0CCR1 register
Initial setting of these registers is performed before setting the TP0CE bit to 1.
TP0CE bit = 1
The TP0CKS0 to TP0CKS2 bits can be set at the same time when counting has been started (TP0CE bit = 1).
<2> Overflow flag clear flow
Read TP0OPT0 register (check overflow flag).
TP0OVF bit = 1
NO
YES Execute instruction to clear TP0OVF bit (CLR TP0OVF).
<3> Count operation stop flow
Counter is initialized and counting is stopped by clearing TP0CE bit to 0.
TP0CE bit = 0
STOP
Preliminary User's Manual U17703EJ1V0UD
265
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) When using capture/compare register as capture register Figure 7-33. Software Processing Flow in Free-Running Timer Mode (Capture Function) (1/2)
FFFFH D10 D00 16-bit counter 0000H TP0CE bit TIP00 pin input TP0CCR0 register INTTP0CC0 signal TIP01 pin input TP0CCR1 register INTTP0CC1 signal INTTP0OV signal TP0OVF bit Cleared to 0 by CLR instruction <2> Cleared to 0 by CLR instruction <2> 0000 D10 D11 D12 0000 0000 D00 D01 D02 D03 0000 D01 D02 D03 D11 D12
<1>
<3>
266
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-33. Software Processing Flow in Free-Running Timer Mode (Capture Function) (2/2)
<1> Count operation start flow
START
Register initial setting TP0CTL0 register (TP0CKS0 to TP0CKS2 bits) TP0CTL1 register, TP0IOC1 register, TP0OPT0 register
Initial setting of these registers is performed before setting the TP0CE bit to 1.
TP0CE bit = 1
The TP0CKS0 to TP0CKS2 bits can be set at the same time when counting has been started (TP0CE bit = 1).
<2> Overflow flag clear flow
Read TP0OPT0 register (check overflow flag).
TP0OVF bit = 1
NO
YES Execute instruction to clear TP0OVF bit (CLR TP0OVF).
<3> Count operation stop flow
Counter is initialized and counting is stopped by clearing TP0CE bit to 0.
TP0CE bit = 0
STOP
Preliminary User's Manual U17703EJ1V0UD
267
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Operation timing in free-running timer mode (a) Interval operation with compare register When 16-bit timer/event counter P is used as an interval timer with the TP0CCRa register used as a compare register, software processing is necessary for setting a comparison value to generate the next interrupt request signal each time the INTTP0CCa signal has been detected.
FFFFH D10 D00 16-bit counter D01 0000H TP0CE bit TP0CCR0 register INTTP0CC0 signal TOP00 pin output D00 D01 D11
D02 D03 D12 D13 D04
D02
D03
D04
D05
Interval period Interval period Interval period Interval period Interval period (D00 + 1) (10000H + (D02 - D01) (10000H + (10000H + D01 - D00) D03 - D02) D04 - D03)
TP0CCR1 register INTTP0CC1 signal TOP01 pin output
D10
D11
D12
D13
D14
Interval period Interval period Interval period Interval period (D10 + 1) (10000H + (10000H + (10000H + D11 - D10) D12 - D11) D13 - D12)
When performing an interval operation in the free-running timer mode, two intervals can be set with one channel. To perform the interval operation, the value of the corresponding TP0CCRa register must be re-set in the interrupt servicing that is executed when the INTTP0CCa signal is detected. The set value for re-setting the TP0CCRa register can be calculated by the following expression, where "Da" is the interval period. Compare register default value: Da - 1 Value set to compare register second and subsequent time: Previous set value + Da (If the calculation result is greater than FFFFH, subtract 10000H from the result and set this value to the register.) Remark a = 0, 1
268
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(b) Pulse width measurement with capture register When pulse width measurement is performed with the TP0CCRa register used as a capture register, software processing is necessary for reading the capture register each time the INTTP0CCa signal has been detected and for calculating an interval.
FFFFH D10 D00 16-bit counter D01 0000H TP0CE bit TIP00 pin input TP0CCR0 register INTTP0CC0 signal 0000H D00 D11
D02 D03 D12 D13 D04
D01
D02
D03
D04
Pulse interval Pulse interval Pulse interval Pulse interval Pulse interval (D00) (10000H + (D02 - D01) (10000H + (10000H + D01 - D00) D03 - D02) D04 - D03)
TIP01 pin input TP0CCR1 register INTTP0CC1 signal
Pulse interval Pulse interval Pulse interval Pulse interval (D10) (10000H + (10000H + (10000H + D11 - D10) D12 - D11) D13 - D12)
0000H
D10
D11
D12
D13
INTTP0OV signal TP0OVF bit
Cleared to 0 by CLR instruction
Cleared to 0 by CLR instruction
Cleared to 0 by CLR instruction
When executing pulse width measurement in the free-running timer mode, two pulse widths can be measured with one channel. To measure a pulse width, the pulse width can be calculated by reading the value of the TP0CCRa register in synchronization with the INTTP0CCa signal, and calculating the difference between the read value and the previously read value. Remark a = 0, 1
Preliminary User's Manual U17703EJ1V0UD
269
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(c) Processing of overflow when two capture registers are used Care must be exercised in processing the overflow flag when two capture registers are used. First, an example of incorrect processing is shown below.
Example of incorrect processing when two capture registers are used
FFFFH D11 16-bit counter D00 0000H TP0CE bit TIP00 pin input TP0CCR0 register TIP01 pin input TP0CCR1 register INTTP0OV signal TP0OVF bit D10 D11 D00 D01 D10 D01
<1>
<2>
<3>
<4>
The following problem may occur when two pulse widths are measured in the free-running timer mode. <1> Read the TP0CCR0 register (setting of the default value of the TIP00 pin input). <2> Read the TP0CCR1 register (setting of the default value of the TIP01 pin input). <3> Read the TP0CCR0 register. Read the overflow flag. If the overflow flag is 1, clear it to 0. Because the overflow flag is 1, the pulse width can be calculated by (10000H + D01 - D00). <4> Read the TP0CCR1 register. Read the overflow flag. Because the flag is cleared in <3>, 0 is read. Because the overflow flag is 0, the pulse width can be calculated by (D11 - D10) (incorrect).
When two capture registers are used, and if the overflow flag is cleared to 0 by one capture register, the other capture register may not obtain the correct pulse width. Use software when using two capture registers. An example of how to use software is shown below.
270
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1/2) Example when two capture registers are used (using overflow interrupt)
FFFFH D11 16-bit counter D00 0000H TP0CE bit INTTP0OV signal TP0OVF bit TP0OVF0 flagNote TIP00 pin input TP0CCR0 register TP0OVF1 flagNote TIP01 pin input TP0CCR1 register D10 D11 D00 D01 D10 D01
<1>
<2>
<3>
<4>
<5> <6>
Note The TP0OVF0 and TP0OVF1 flags are set on the internal RAM by software. <1> Read the TP0CCR0 register (setting of the default value of the TIP00 pin input). <2> Read the TP0CCR1 register (setting of the default value of the TIP01 pin input). <3> An overflow occurs. Set the TP0OVF0 and TP0OVF1 flags to 1 in the overflow interrupt servicing, and clear the overflow flag to 0. <4> Read the TP0CCR0 register. Read the TP0OVF0 flag. If the TP0OVF0 flag is 1, clear it to 0. Because the TP0OVF0 flag is 1, the pulse width can be calculated by (10000H + D01 - D00). <5> Read the TP0CCR1 register. Read the TP0OVF1 flag. If the TP0OVF1 flag is 1, clear it to 0 (the TP0OVF0 flag is cleared in <4>, and the TP0OVF1 flag remains 1). Because the TP0OVF1 flag is 1, the pulse width can be calculated by (10000H + D11 - D10) (correct). <6> Same as <3>
Preliminary User's Manual U17703EJ1V0UD
271
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2/2) Example when two capture registers are used (without using overflow interrupt)
FFFFH D11 16-bit counter D00 0000H TP0CE bit INTTP0OV signal TP0OVF bit TP0OVF0 flagNote TIP00 pin input TP0CCR0 register TP0OVF1 flagNote TIP01 pin input TP0CCR1 register D10 D11 D00 D01 D10 D01
<1>
<2>
<3>
<4>
<5> <6>
Note The TP0OVF0 and TP0OVF1 flags are set on the internal RAM by software. <1> Read the TP0CCR0 register (setting of the default value of the TIP00 pin input). <2> Read the TP0CCR1 register (setting of the default value of the TIP01 pin input). <3> An overflow occurs. Nothing is done by software. <4> Read the TP0CCR0 register. Read the overflow flag. If the overflow flag is 1, set only the TP0OVF1 flag to 1, and clear the overflow flag to 0. Because the overflow flag is 1, the pulse width can be calculated by (10000H + D01 - D00). <5> Read the TP0CCR1 register. Read the overflow flag. Because the overflow flag is cleared in <4>, 0 is read. Read the TP0OVF1 flag. If the TP0OVF1 flag is 1, clear it to 0. Because the TP0OVF1 flag is 1, the pulse width can be calculated by (10000H + D11 - D10) (correct). <6> Same as <3>
272
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(d) Processing of overflow if capture trigger interval is long If the pulse width is greater than one cycle of the 16-bit counter, care must be exercised because an overflow may occur more than once from the first capture trigger to the next. First, an example of incorrect processing is shown below.
Example of incorrect processing when capture trigger interval is long
FFFFH 16-bit counter Da1 0000H TP0CE bit TIP0a pin input TP0CCRa register INTTP0OV signal TP0OVF bit 1 cycle of 16-bit counter Pulse width <1> <2> <3> <4> Da0 Da1 Da0
The following problem may occur when long pulse width is measured in the free-running timer mode. <1> Read the TP0CCRa register (setting of the default value of the TIP0a pin input). <2> An overflow occurs. Nothing is done by software. <3> An overflow occurs a second time. Nothing is done by software. <4> Read the TP0CCRa register. Read the overflow flag. If the overflow flag is 1, clear it to 0. Because the overflow flag is 1, the pulse width can be calculated by (10000H + Da1 - Da0) (incorrect). Actually, the pulse width must be (20000H + Da1 - Da0) because an overflow occurs twice.
If an overflow occurs twice or more when the capture trigger interval is long, the correct pulse width may not be obtained. If the capture trigger interval is long, slow the count clock to lengthen one cycle of the 16-bit counter, or use software. An example of how to use software is shown next.
Preliminary User's Manual U17703EJ1V0UD
273
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Example when capture trigger interval is long
FFFFH 16-bit counter Da1 0000H TP0CE bit TIP0a pin input TP0CCRa register INTTP0OV signal TP0OVF bit Overflow counterNote 0H 1H 2H 0H Da0 Da1 Da0
1 cycle of 16-bit counter Pulse width <1> <2> <3> <4>
Note The overflow counter is set arbitrarily by software on the internal RAM. <1> Read the TP0CCRa register (setting of the default value of the TIP0a pin input). <2> An overflow occurs. Increment the overflow counter and clear the overflow flag to 0 in the overflow interrupt servicing. <3> An overflow occurs a second time. Increment (+1) the overflow counter and clear the overflow flag to 0 in the overflow interrupt servicing. <4> Read the TP0CCRa register. Read the overflow counter. When the overflow counter is "N", the pulse width can be calculated by (N x 10000H + Da1 - Da0). In this example, the pulse width is (20000H + Da1 - Da0) because an overflow occurs twice. Clear the overflow counter (0H).
274
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(e) Clearing overflow flag The overflow flag can be cleared to 0 by clearing the TP0OVF bit to 0 with the CLR instruction and by writing 8-bit data (bit 0 is 0) to the TP0OPT0 register. To accurately detect an overflow, read the TP0OVF bit when it is 1, and then clear the overflow flag by using a bit manipulation instruction.
(i) Operation to write 0 (without conflict with setting)
(iii) Operation to clear to 0 (without conflict with setting)
Overflow set signal 0 write signal Overflow flag (TP0OVF bit)
L
Overflow set signal 0 write signal Register access signal Overflow flag (TP0OVF bit)
L
Read
Write
(ii) Operation to write 0 (conflict with setting)
(iv) Operation to clear to 0 (conflict with setting)
Overflow set signal 0 write signal Overflow flag (TP0OVF bit)
Overflow set signal 0 write signal Register access signal Overflow flag (TP0OVF bit) H
Read
Write
To clear the overflow flag to 0, read the overflow flag to check if it is set to 1, and clear it with the CLR instruction. If 0 is written to the overflow flag without checking if the flag is 1, the set information of overflow may be erased by writing 0 ((ii) in the above chart). Therefore, software may judge that no overflow has occurred even when an overflow actually has occurred. If execution of the CLR instruction conflicts with occurrence of an overflow when the overflow flag is cleared to 0 with the CLR instruction, the overflow flag remains set even after execution of the clear instruction.
Preliminary User's Manual U17703EJ1V0UD
275
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.5.7 Pulse width measurement mode (TP0MD2 to TP0MD0 bits = 110) In the pulse width measurement mode, 16-bit timer/event counter P starts counting when the TP0CTL0.TP0CE bit is set to 1. Each time the valid edge input to the TIP0a pin has been detected, the count value of the 16-bit counter is stored in the TP0CCRa register, and the 16-bit counter is cleared to 0000H. The interval of the valid edge can be measured by reading the TP0CCRa register after a capture interrupt request signal (INTTP0CCa) occurs. Select either the TIP00 or TIP01 pin as the capture trigger input pin. Specify "No edge detected" by using the TP0IOC1 register for the unused pins. When an external clock is used as the count clock, measure the pulse width of the TIP01 pin because the external clock is fixed to the TIP00 pin. At this time, clear the TP0IOC1.TP0IS1 and TP0IOC1.TP0IS0 bits to 00 (capture trigger input (TIP00 pin): No edge detected). Figure 7-34. Configuration in Pulse Width Measurement Mode
Clear Internal count clock TIP00 pin (external event count input/capture trigger input) Edge detector Count clock selection
16-bit counter
INTTP0OV signal INTTP0CC0 signal
TP0CE bit Digital noise eliminator Digital noise eliminator Edge detector TP0CCR0 register (capture) Edge detector TP0CCR1 register (capture) INTTP0CC1 signal
TIP01 pin (capture trigger input)
Remark
a = 0, 1
276
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-35. Basic Timing in Pulse Width Measurement Mode
FFFFH 16-bit counter 0000H TP0CE bit TIP0a pin input TP0CCRa register INTTP0CCa signal INTTP0OV signal TP0OVF bit Cleared to 0 by CLR instruction 0000H D0 D1 D2 D3
Remark
a = 0, 1
When the TP0CE bit is set to 1, the 16-bit counter starts counting. When the valid edge input to the TIP0a pin is later detected, the count value of the 16-bit counter is stored in the TP0CCRa register, the 16-bit counter is cleared to 0000H, and a capture interrupt request signal (INTTP0CCa) is generated. The pulse width is calculated as follows. Pulse width = Captured value x Count clock cycle If the valid edge is not input to the TIP0a pin even when the 16-bit counter counted up to FFFFH, an overflow interrupt request signal (INTTP0OV) is generated at the next count clock, and the counter is cleared to 0000H and continues counting. At this time, the overflow flag (TP0OPT0.TP0OVF bit) is also set to 1. Clear the overflow flag to 0 by executing the CLR instruction via software. If the overflow flag is set to 1, the pulse width can be calculated as follows. Pulse width = (10000H x TP0OVF bit set (1) count + Captured value) x Count clock cycle Remark a = 0, 1
Preliminary User's Manual U17703EJ1V0UD
277
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-36. Register Setting in Pulse Width Measurement Mode (1/2)
(a) TMP0 control register 0 (TP0CTL0)
TP0CE TP0CTL0 0/1 0 0 0 0 TP0CKS2 TP0CKS1 TP0CKS0 0/1 0/1 0/1
Select count clockNote 0: Stop counting 1: Enable counting
Note Setting is invalid when the TP0EEE bit = 1. (b) TMP0 control register 1 (TP0CTL1)
TP0EST TP0EEE TP0CTL1 0 0 0/1 0 0 TP0MD2 TP0MD1 TP0MD0 1 1 0 1, 1, 0: Pulse width measurement mode 0: Operate with count clock selected by TP0CKS0 to TP0CKS2 bits 1: Count external event count input signal
(c) TMP0 I/O control register 1 (TP0IOC1)
TP0IS3 TP0IOC1 0 0 0 0 0/1 TP0IS2 0/1 TP0IS1 0/1 TP0IS0 0/1
Select valid edge of TIP00 pin input Select valid edge of TIP01 pin input
(d) TMP0 I/O control register 2 (TP0IOC2)
TP0EES1 TP0EES0 TP0ETS1 TP0ETS0 TP0IOC2 0 0 0 0 0/1 0/1 0 0
Select valid edge of external event count input
278
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
Figure 7-36. Register Setting in Pulse Width Measurement Mode (2/2)
(e) TMP0 option register 0 (TP0OPT0)
TP0CCS1 TP0CCS0 TP0OPT0 0 0 0 0 0 0 0 TP0OVF 0/1
Overflow flag
(f) TMP0 counter read buffer register (TP0CNT) The value of the 16-bit counter can be read by reading the TP0CNT register. (g) TMP0 capture/compare registers 0 and 1 (TP0CCR0 and TP0CCR1) These registers store the count value of the 16-bit counter when the valid edge input to the TIP0a pin is detected. Remarks 1. TMP0 I/O control register 0 (TP0IOC0) is not used in the pulse width measurement mode. 2. a = 0, 1
Preliminary User's Manual U17703EJ1V0UD
279
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(1) Operation flow in pulse width measurement mode Figure 7-37. Software Processing Flow in Pulse Width Measurement Mode
FFFFH 16-bit counter 0000H TP0CE bit TIP00 pin input TP0CCR0 register INTTP0CC0 signal <1> <2> 0000H D0 D1 D2 0000H
<1> Count operation start flow
START
Register initial setting TP0CTL0 register (TP0CKS0 to TP0CKS2 bits), TP0CTL1 register, TP0IOC1 register, TP0IOC2 register, TP0OPT0 register
Initial setting of these registers is performed before setting the TP0CE bit to 1.
Set TP0CTL0 register (TP0CE bit = 1)
The TP0CKS0 to TP0CKS2 bits can be set at the same time when counting has been started (TP0CE bit = 1).
<2> Count operation stop flow
The counter is initialized and counting is stopped by clearing the TP0CE bit to 0.
TP0CE bit = 0
STOP
280
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
(2) Operation timing in pulse width measurement mode (a) Clearing overflow flag The overflow flag can be cleared to 0 by clearing the TP0OVF bit to 0 with the CLR instruction and by writing 8-bit data (bit 0 is 0) to the TP0OPT0 register. To accurately detect an overflow, read the TP0OVF bit when it is 1, and then clear the overflow flag by using a bit manipulation instruction.
(i) Operation to write 0 (without conflict with setting)
(iii) Operation to clear to 0 (without conflict with setting)
Overflow set signal 0 write signal Overflow flag (TP0OVF bit)
L
Overflow set signal 0 write signal Register access signal Overflow flag (TP0OVF bit)
L
Read
Write
(ii) Operation to write 0 (conflict with setting)
(iv) Operation to clear to 0 (conflict with setting)
Overflow set signal 0 write signal Overflow flag (TP0OVF bit)
Overflow set signal 0 write signal Register access signal Overflow flag (TP0OVF bit) H
Read
Write
To clear the overflow flag to 0, read the overflow flag to check if it is set to 1, and clear it with the CLR instruction. If 0 is written to the overflow flag without checking if the flag is 1, the set information of overflow may be erased by writing 0 ((ii) in the above chart). Therefore, software may judge that no overflow has occurred even when an overflow actually has occurred. If execution of the CLR instruction conflicts with occurrence of an overflow when the overflow flag is cleared to 0 with the CLR instruction, the overflow flag remains set even after execution of the clear instruction.
Preliminary User's Manual U17703EJ1V0UD
281
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.5.8 Timer output operations The following table shows the operations and output levels of the TOP00 and TOP01 pins. Table 7-4. Timer Output Control in Each Mode
Operation Mode Interval timer mode External event count mode External trigger pulse output mode One-shot pulse output mode PWM output mode Free-running timer mode Pulse width measurement mode TOP01 Pin Square wave output Square wave output External trigger pulse output One-shot pulse output PWM output Square wave output (only when compare function is used) - - Square wave output TOP00 Pin
Table 7-5. Truth Table of TOP00 and TOP01 Pins Under Control of Timer Output Control Bits
TP0IOC0.TP0OLa Bit 0 TP0IOC0.TP0OEa Bit 0 1 TP0CTL0.TP0CE Bit x 0 1 x 0 1 Level of TOP0a Pin Low-level output Low-level output Low level immediately before counting, high level after counting is started 1 0 1 High-level output High-level output High level immediately before counting, low level after counting is started
Remark
a = 0, 1
282
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.6 Eliminating Noise on Capture Trigger Input Pin (TIP0a)
The TIP0a pin has a digital noise eliminator. However, this circuit is valid only when the pin is used as a capture trigger input pin; it is invalid when the pin is used as an external event count input pin or external trigger input pin. Digital noise can be eliminated by specifying the alternate function of the TIP0a pin using the PMC3, PFC3, and PFCE3 registers. The number of times of sampling can be selected from three or two by using the PaNFC.PaNFSTS bit. The sampling clock can be selected from fXX, fXX/2, fXX/4, fXX/16, fXX/32, or fXX/64, by using the PaNFC.PaNFC2 to PaNFC.PaNFC0 bits. (1) TIP0a noise elimination control register (PaNFC) This register is used to select the sampling clock and the number of times of sampling for eliminating digital noise. This register can be read or written in 8-bit or 1-bit units. Reset input clears this register to 00H.
After reset: 00H
R/W
Address: P0NFC FFFFFB00H, P1NFC FFFFFB04H
PaNFC (a = 0, 1)
0
PaNFSTS
0
0
0
PaNFC2 PaNFC1 PaNFC0
PaNFSTS 0 1
Setting of number of times of sampling for eliminating digital noise Number of times of sampling = 3 Number of times of sampling = 2
PaNFC2 PaNFC1 PaNFC0 0 0 0 0 1 1 0 0 1 1 0 0 Other than above 0 1 0 1 0 1 fXX fXX/2 fXX/4 fXX/16 fXX/32 fXX/64
Sampling clock selection
Setting prohibited
Cautions 1. Enable starting the 16-bit counter of TMP0 (TP0CTL.TP0CE bit = 1) after the lapse of the sampling clock period x number of times of sampling. 2. Be sure to clear bits 7, 5 to 3 to "0".
Preliminary User's Manual U17703EJ1V0UD
283
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
<1> Select the number of times of sampling and the sampling clock by using the PaNFC register. <2> Select the alternate function (of the TIP0a pin) by using the PMC3, PFC3, and PFCE3 registers. <3> Set the operating mode of TMP0 (such as the capture mode or the valid edge of the capture trigger). <4> Enable the TMP0 count operation. The digital noise elimination width (tWTIPa) is as follows, where T is the sampling clock period and M is the number of times of sampling. * tWTIPa < (M - 1)T: * (M - 1)T tWTIPa < MT: * tWTIPa MT: Accurately eliminated as noise Eliminated as noise or detected as valid edge Accurately detected as valid edge
Therefore, a pulse width of MT or longer must be input so that the valid edge of the capture trigger input can be accurately detected.
284
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 7 16-BIT TIMER/EVENT COUNTER P (TMP)
7.7 Cautions
(1) Capture operation When the capture operation is used and fXX/8, fXX/16, fXX/32, fXX/64, fXX/128, or the external event counter (TP0CLT1.TP0EEE bit = 1) is selected as the count clock, FFFFH, not 0000H, may be captured in the TP0CCRn register if the capture trigger is input immediately after the TP0CE bit is set to 1.
(a) Free-running timer mode
FFFFH
16-bit counter
0000H
Count clock
Sampling clock (fXX)
TP0CCR0 register
0000H
FFFFH
0001H
TP0CE bit
TIP00 pin input Capture trigger input Capture trigger input
(b) Pulse width measurement mode
FFFFH
16-bit counter
0000H
Count clock
Sampling clock (fXX)
TP0CCR0 register
0000H
FFFFH
0002H
TP0CE bit
TIP00 pin input Capture trigger input Capture trigger input
Preliminary User's Manual U17703EJ1V0UD
285
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
In the V850ES/KG2, four channels of 16-bit timer/event counter 0 are provided.
8.1 Functions
16-bit timer/event counter 0n has the following functions (n = 0 to 3). (1) Interval timer 16-bit timer/event counter 0n generates an interrupt request at the preset time interval. (2) Square-wave output 16-bit timer/event counter 0n can output a square wave with any selected frequency. (3) External event counter 16-bit timer/event counter 0n can measure the number of pulses of an externally input signal. (4) One-shot pulse output 16-bit timer/event counter 0n can output a one-shot pulse whose output pulse width can be set freely. (5) PPG output 16-bit timer/event counter 0n can output a rectangular wave whose frequency and output pulse width can be set freely. (6) Pulse width measurement 16-bit timer/event counter 0n can measure the pulse width of an externally input signal.
286
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.2 Configuration
16-bit timer/event counter 0n includes the following hardware. Table 8-1. Configuration of 16-Bit Timer/Event Counter 0n
Item Time/counter Register Timer input Timer output Control registers
Note
Configuration 16-bit timer counter 0n (TM0n) 16-bit timer capture/compare registers: 16-bit x 2 (CR0n0, CR0n1) 2 (TI0n0, TI0n1 pins) 1 (TO0n pin), output controller 16-bit timer mode control register 0n (TMC0n) Capture/compare control register 0n (CRC0n) 16-bit timer output control register 0n (TOC0n) Prescaler mode register 0n (PRM0n) Selector operation control register 1 (SELCNT1)
Note To use the TI0n0, TI0n1, and TO0n pin functions, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. The block diagram is shown below. Figure 8-1. Block Diagram of 16-Bit Timer/Event Counter 0n
Internal bus
Capture/compare control CRC0n2CRC0n1 CRC0n0 register 0n (CRC0n)
Selector
INTTM0n0
Noise eliminator
Selector
Tl0n1
16-bit timer capture/compare register 0n0 (CR0n0) Match
Count clock
Selector
16-bit timer counter 0n (TM0n) Match
Clear
Output controller
TO0n
fXX/4
Noise eliminator
3
Noise eliminator
Tl0n0
16-bit timer capture/compare register 0n1 (CR0n1)
Selector
INTTM0n1
ISEL1n PRM0n1 PRM0n0
Selector operation control register 1 (SELCNT1) Prescaler mode register 0n (PRM0n)
TMC0n3 TMC0n2 TMC0n1 OVF0n
OSPT0n OSPE0n TOC0n4 LVS0n LVR0n TOC0n1 TOE0n Timer output control register 0n (TOC0n)
16-bit timer mode control register 0n (TMC0n) Internal bus
Remarks 1. fXX: Main clock frequency 2. n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
287
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(1) 16-bit timer counter 0n (TM0n) The TM0n register is a 16-bit read-only register that counts count pulses. The counter is incremented in synchronization with the rising edge of the count clock.
After reset: 0000H
R
Address: TM00 FFFFF600H, TM01 FFFFF610H, TM02 FFFFF620H, TM03 FFFFF630H
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
TM0n (n = 0 to 3)
The count value of the TM0n register can be read by reading the TM0n register when the values of the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits are other than 00. The value of the TM0n register is 0000H if it is read when the TMC0n3 and TMC0n2 bits are 00. The count value is reset to 0000H in the following cases. * At reset signal generation * If the TMC0n3 and TMC0n2 bits are cleared to 00 * If the valid edge of the TI0n0 pin is input in the mode in which the clear & start occurs when inputting the valid edge to the TI0n0 pin * If the TM0n register and the CR0n0 register match in the mode in which the clear & start occurs when the TM0n register and the CR0n0 register match * The TOC0n.OSPT0n bit is set to 1 in one-shot pulse output mode or the valid edge is input to the TI0n0 pin Remark n = 0 to 3 (2) 16-bit timer capture/compare register 0n0 (CR0n0), 16-bit timer capture/compare register 0n1 (CR0n1) The CR0n0 and CR0n1 registers are 16-bit registers that are used with a capture function or comparison function selected by using the CRC0n register. Change of the value of the CR0n0 register while the timer is operating (TMC0n.TMC0n3 and TMC0n.TMC0n2 bits = other than 00) is prohibited. The value of the CR0n1 register can be changed during operation if the value has been set in a specific way. For details, see 8.5.1 Rewriting CR0n0 register during TM0n operation. These registers can be read or written in 16-bit units. Reset sets these registers to 0000H. (a) 16-bit timer capture/compare register 0n0 (CR0n0)
After reset: 0000H
R/W
Address: CR000 FFFFF602H, CR010 FFFFF612H, CR020 FFFFF622H, CR030 FFFFF632H
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
CR0n0 (n = 0 to 3)
288
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(i) When the CR0n0 register is used as a compare register The value set in the CR0n0 register is constantly compared with the TM0n register count value, and an interrupt request signal (INTTM0n0) is generated if they match. The value is held until the CR0n0 register is rewritten. (ii) When the CR0n0 register is used as a capture register The count value of the TM0n register is captured to the CR0n0 register when a capture trigger is input. As the capture trigger, an edge of a phase reverse to that of the TI0n0 pin or the valid edge of the TI0n1 pin can be selected by using the CRC0n or PRM0n register. (b) 16-bit timer capture/compare register 0n1 (CR0n1)
After reset: 0000H
R/W
Address: CR001 FFFFF604H, CR011 FFFFF614H, CR021 FFFFF624H, CR031 FFFFF634H
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
CR0n1 (n = 0 to 3)
(i)
When using the CR0n1 register as a compare register The value set to the CR0n1 register and the count value of the TM0n register are always compared and when these values match, an interrupt request signal (INTTM0n1) is generated.
(ii) When using the CR0n1 register as a capture register The TM0n register count value is captured to the CR0n1 register by inputting a capture trigger. The valid edge of the TI0n0 pin can be selected as the capture trigger. The valid edge of the TI0n0 pin is set with the PRM0n register. Cautions 1. When the P33, P35, P92, and P94 pins are used as the valid edges of TI000, TI010, TI020, and TI030, and the timer output function is used, set the P34, P32, P30, and P31 pins as the timer output pins (TO00 to TO03). 2. If clearing of the TMC0n3 and TMC0n2 bits to 00 and input of the capture trigger conflict, then the captured data is undefined. 3. To change the mode from the capture mode to the comparison mode, first clear the TMC0n3 and TMC0n2 bits to 00, and then change the setting. A value that has been once captured remains stored in the CR0n0 and CR0n1 registers unless the device is reset. If the mode has been changed to the comparison mode, be sure to set a comparison value.
Preliminary User's Manual U17703EJ1V0UD
289
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(c) Setting range when used as compare register When the CR0n0 or CR0n1 register is used as a compare register, set it as shown below.
Operation * Operation as interval timer * Operation as square-wave output * Operation as external event counter * Operation in the clear & start mode entered by TI0n0 pin valid edge input * Operation as free-running timer * Operation as PPG output * Operation as one-shot pulse output M < N FFFFH 0000H
Note Note
CR0n0 Register 0000H < N FFFFH 0000H
Note
CR0n1 Register M FFFFH Normally, this setting is not used. Mask the match interrupt signal (INTTM0n1).
0000H
Note
N FFFFH
0000H
Note
M FFFFH
0000H
MN M FFFFH (M N)
N FFFFH (N M)
0000H
Note
Note When 0000H is set, a match interrupt immediately after the timer operation does not occur and timer output is not changed, and the first match timing is as follows. A match interrupt occurs at the timing when the timer counter (TM0n register) is changed from 0000H to 0001H. * When the timer counter is cleared due to overflow * When the timer counter is cleared due to TI0n0 pin valid edge (when clear & start mode is entered by TI0n0 pin valid edge input) * When the timer counter is cleared due to compare match (when clear & start mode is entered by match between TM0n and CR0n0 (CR0n0 = other than 0000H, CR0n1 = 0000H))
Timer counter clear TM0n register
Compare register set value (0000H) Operation Timer operation enable bit disabled (00) Operation enabled (other than 00)
Interrupt request signal Interrupt signal is not generated Interrupt signal is generated
Remarks 1. N: CR0n0 register set value M: CR0n1 register set value 2. For details of operation enable bits (TMC0n.TMC0n3, TMC0n.TMC0n2 bits), refer to 8.3 (1) 16-bit timer mode control register 0n (TMC0n).
290
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Table 8-2. Capture Operation of CR0n0 and CR0n1 Registers
External Input Signal Capture Operation Capture operation of CR0n0 register CRC0n1 bit = 1 TI0n0 pin input (reverse phase) Set values of ESn01 and ESn00 Position of edge to be captured 01: Rising CRC0n1 bit = 0 TI0n1 pin input Set values of ESn11 and ESn10 Position of edge to be captured 01: Rising TI0n0 Pin Input TI0n1 Pin Input
00: Falling
00: Falling
11: Both edges (cannot be captured) Interrupt signal INTTM0n0 signal is not generated even if value is captured. Capture operation of CR0n1 register TI0n0 pin input
Note
11: Both edges
Interrupt signal
INTTM0n0 signal is generated each time value is captured.
Set values of ESn01 and ESn00 Position of edge to be captured 01: Rising
00: Falling
11: Both edges
Interrupt signal
INTTM0n1 signal is generated each time value is captured.
Note The capture operation of the CR0n1 register is not affected by the setting of the CRC0n1 bit. Caution To capture the count value of the TM0n register to the CR0n0 register by using the phase reverse to that input to the TI0n0 pin, the interrupt request signal (INTTM0n0) is not generated after the value has been captured. If the valid edge is detected on the TI0n1 pin during this operation, the capture operation is not performed but the INTTM0n0 signal is generated as an external interrupt signal. To not use the external interrupt, mask the INTTM0n0 signal. Remarks 1. CRC0n1: See 8.3 (2) Capture/compare control register 0n (CRC0n). ESn11, ESn10, ESn01, ESn00: See 8.3 (4) Prescaler mode register 0n (PRM0n). 2. n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
291
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.3 Registers
Registers used to control 16-bit timer/event counter 0n are shown below. * 16-bit timer mode control register 0n (TMC0n) * Capture/compare control register 0n (CRC0n) * 16-bit timer output control register 0n (TOC0n) * Prescaler mode register 0n (PRM0n) * Selector operation control register 1 (SELCNT1) Remark To use the TI0n0, TI0n1, and TO0n pin functions, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. (1) 16-bit timer mode control register 0n (TMC0n) TMC0n is an 8-bit register that sets the 16-bit timer/event counter 0n operation mode, the TM0n register clear mode, and output timing, and detects an overflow. Rewriting TMC0n is prohibited during operation (when the TMC0n3 and TMC0n2 bits = other than 00). However, it can be changed when the TMC0n3 and TMC0n2 bits are cleared to 00 (stopping operation) and when the OVF0n bit is cleared to 0. This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H. Cautions 1. 16-bit timer/event counter 0n starts operation at the moment TMC0n2 and TMC0n3 are set to values other than 00 (operation stop mode), respectively. Set TMC0n2 and TMC0n3 to 00 to stop the operation. 2. Do not access the TMC0n register when the main clock is stopped and the subclock is operating. For details, refer to 3.4.8 (1) (b). Remark n = 0 to 3
292
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
After reset: 00H
R/W 7
Address: TMC00 FFFFF606H, TMC01 FFFFF616H, TMC02 FFFFF626H TMC03 FFFFF636H 6 0 5 0 4 0 3 TMC0n3 2 TMC0n2 1 TMC0n1 <0> OVF0n
TMC0n
0
(n = 0 to 3)
TMC0n3 0 TMC0n2 0 Enable operation of 16-bit timer/event counter 0n Disables TM0n operation. Stops supplying operating clock. Clears 16-bit timer counter (TM0n). 0 1 1 1 0 1 Free-running timer mode Clear & start mode entered by TI0n0 pin valid edge input
Note 1
Clear & start mode entered upon a match between TM0n and CR0n0
TMC0n1 0 1
Note 2
Condition to reverse timer output (TO0n) * Match between TM0n and CR0n0 or match between TM0n and CR0n1 * Match between TM0n and CR0n0 or match between TM0n and CR0n1 * Trigger input of TI0n0 pin valid edge
OVF0n Clear (0) Set (1)
TM0n register overflow flag Clears OVF0n to 0 or TMC0n.TMC0n3 and TMC0n.TMC0n2 = 00 Overflow occurs.
OVF0n is set to 1 when the value of TM0n changes from FFFFH to 0000H in all the operation modes (free-running timer mode, clear & start mode entered by TI0n0 pin valid edge input, and clear & start mode entered upon a match between TM0n and CR0n0). It can also be set to 1 by writing 1 to the OVF0n bit.
Notes 1. 2.
The TI0n0 pin valid edge is set by the PRM0n register. Be sure to clear the TMC0m1 bit to 0 when the TO0m pin and TI0m0 pin are used alternately (m = 0 to 3).
Preliminary User's Manual U17703EJ1V0UD
293
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(2) Capture/compare control register 0n (CRC0n) The CRC0n register is the register that controls the operation of the CR0n0 and CR0n1 registers. Changing the value of the CRC0n register is prohibited during operation (when the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits = other than 00). This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H.
After reset: 00H R/W 7 CRC0n 0 Address: CRC00 FFFFF608H, CRC01 FFFFF618H, CRC02 FFFFF628H CRC03 FFFFF638H 6 0 5 0 4 0 3 0 2 CRC0n2 1 CRC0n1 0 CRC0n0
(n = 0 to 3)
CRC0n2 0 1 CR0n1 register operating mode selection Operates as compare register Operates as capture register
CRC0n1 0 1
CR0n0 register capture trigger selection Captures on valid edge of TI0n1 pin Captures on valid edge of TI0n0 pin by reverse phase
Note
The valid edge of the TI0n1 and TI0n0 pin is set by the PRM0n register. If PRM0n.ESn01 and PRM0n.ESn00 are set to 11 (both edges) when CRC0n1 is 1, the valid edge of the TI0n0 pin cannot be detected.
CRC0n0 0 1
CR0n0 register operating mode selection Operates as compare register Operates as capture register
If TMC0n3 and TMC0n2 are set to 11 (clear & start mode entered upon a match between TM0n and CR0n0), be sure to set the CRC0n0 bit to 0.
Note When the valid edge is detected from the TI0n1 pin, the capture operation is not performed but the INTTM0n0 signal is generated as an external interrupt signal. Caution To ensure that the capture operation is performed properly, the capture trigger requires a pulse two cycles longer than the count clock selected by the PRM0n or SELCNT1 register.
294
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(3) 16-bit timer output control register 0n (TOC0n) The TOC0n register is an 8-bit register that controls the TO0n pin output. The TOC0n register can be rewritten while only the OSPT0n bit is operating (when the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits = other than 00). Rewriting the other bits is prohibited during operation. However, TOC0n4 can be rewritten during timer operation as a means to rewrite the CR0n1 register (see 8.5.1 Rewriting CR0n1 register during TM0n operation). This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H. Caution Be sure to set the TOC0n register using the following procedure. <1> Set the TOC0n4 and TOC0n1 bits to 1. <2> Set only the TOE0n bit to 1. <3> Set either the LVS0n bit or LVR0n bit to 1. (1/2)
After reset: 00H R/W 7 TOC0n 0 Address: TOC00 FFFFF609H, TOC01 FFFFF619H, TOC02 FFFFF629H, TOC03 FFFFF639H <6> OSPT0n <5> OSPE0n 4 TOC0n4 <3> LVS0n <2> LVR0n 1 TOC0n1 <0> TOE0n
(n = 0 to 3)
OSPT0n 0 1 One-shot pulse output One-shot pulse output trigger via software -
The value of this bit is always "0" when it is read. If it is set to 1, TM0n is cleared and started.
OSPE0n 0 1 Successive pulse output One-shot pulse output
One-shot pulse output operation control
One-shot pulse output operates correctly in the free-running timer mode or clear & start mode entered by TI0n0 pin valid edge input. The one-shot pulse cannot be output in the clear & start mode entered upon a match between the TM0n and CR0n0 registers.
TOC0n4 0 1
TO0n pin output control on match between CR0n1 and TM0n registers Disables inversion operation Enables inversion operation
The interrupt signal (INTTM0n1) is generated even when the TOC0n4 bit = 0.
Preliminary User's Manual U17703EJ1V0UD
295
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(2/2)
LVS0n 0 0 1 1 LVR0n 0 1 0 1 No change Initial value of TO0n pin output is low level (TO0n pin output is cleared to 0). Initial value of TO0n pin output is high level (TO0n pin output is set to 1). Setting prohibited Setting of TO0n pin output status
* The LVS0n and LVR0n bits can be used to set the initial value of the output level of the TO0n pin. If the initial value does not have to be set, leave the LVS0n and LVR0n bits as 00n. * Be sure to set the LVS0n and LVR0n bits when TOE0n = 1. The LVS0n, LVR0n, and TOE0n bits being simultaneously set to 1 is prohibited. * The LVS0n and LVR0n bits are trigger bits. By setting these bits to 1, the initial value of the output level of the TO0n pin can be set. Even if these bits are cleared to 0, output of the TO0n pin is not affected. * The values of the LVS0n and LVR0n bits are always 0 when they are read. * For how to set the LVS0n and LVR0n bits, see 8.5.2 Setting LVS0n and LVR0n bits. TOC0n1 0 1 TO0n pin output control on match between CR0n0 and TM0n registers Disables inversion operation Enables inversion operation
The interrupt signal (INTTM0n0) is generated even when the TOC0n1 bit = 0.
TOE0n 0 1
TO0n pin output control Disables output (TO0n pin output fixed to low level) Enables output
296
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(4) Prescaler mode register 0n (PRM0n) The PRM0n register is the register that sets the TM0n register count clock and TI0n0 and TI0n1 pin input valid edges. The PRM0n1 and PRM0n0 bits are set in combination with the SELCNT1.ISEL1n bit. Refer to 8.3 (6) Count clock setting for 16-bit timer/event counter 0n for details. Rewriting the PRM0n register is prohibited during operation (when the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits = other than 00). This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H. Cautions 1. Do not apply the following setting when setting the PRM0n1 and PRM0n0 bits to 11 (to specify the valid edge of the TI0n0 pin as a count clock). * Clear & start mode entered by the TI0n0 pin valid edge * Setting the TI0n0 pin as a capture trigger 2. If the operation of the 16-bit timer/event counter 0n is enabled when the TI0n0 or TI0n1 pin is at high level and when the valid edge of the TI0n0 or TI0n1 pin is specified to be the rising edge or both edges, the high level of the TI0n0 or TI0n1 pin is detected as a rising edge. Note this when the TI0n0 or TI0n1 pin is pulled up. However, the rising edge is not detected when the timer operation has been once stopped and is then enabled again. 3. When the P33, P35, P92, and P94 pins are used as the valid edges of TI000, TI010, TI020, and TI030, and the timer output function is used, set the P34, P32, P30, and P31 pins as the timer output pins (TO00 to TO03).
After reset: 00H
7 PRM0n
R/W
Address: PRM00 FFFFF607H, PRM01 FFFFF617H, PRM02 FFFFF627H,
PRM03 FFFFF637H 6 ESn10 5 ESn01 4 ESn00 3 0 2 0 1 PRM0n1 0 PRM0n0
ESn11
(n = 0 to 3)
ESn11 0 0 1 1 ESn10 0 1 0 1 Falling edge Rising edge Setting prohibited Both falling and rising edges TI0n1 pin valid edge selection
ESn01 0 0 1 1
ESn00 0 1 0 1 Falling edge Rising edge Setting prohibited
TI0n0 pin valid edge selection
Both falling and rising edges
Preliminary User's Manual U17703EJ1V0UD
297
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(5) Selector operation control register 1 (SELCNT1) The SELCNT1 register sets the count clock of 16-bit timer/event counter 0n. The SELCNT1 register is set in combination with the PRM0n.PRMn01 and PRM0n.PRMn00 bits. Refer to 8.3 (6) Count clock setting for 16-bit timer/event counter 0n for details. This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H.
After reset: 00H 7 SELCNT1 0
R/W 6 0
Address: FFFFF30AH 5 0 4 0 3 ISEL13 2 ISEL12 1 ISEL11 0 ISEL10
(6) Count clock setting for 16-bit timer/event counter 0n The count clock for 16-bit timer/event counter 0n is set by using the PRM0n.PRM0n1, PRM0n.PRM0n0, and SELCNT1.ISEL1n bits in combination. (a) Count clock for 16-bit timer/event counters 00 and 02
SELCNT1 Register ISEL1n Bit 0 0 0 0 1 1 1 1 PRM0n Register PRM0n1 Bit 0 0 1 1 0 0 1 1 PRM0n0 Bit 0 1 0 1 0 1 0 1 fXX/2 fXX/4 fXX/8 Valid edge of TI0n0 fXX/32 fXX/64 fXX/128
Note 2
Selection of Count Clock Count Clock fXX = 20 MHz 100 ns 200 ns 400 ns - 1.6 s 3.2 s 6.4 s Setting prohibited
Note 1
fXX = 16 MHz 125 ns 250 ns 500 ns - 2.0 s 4.0 s 8.0 s
fXX = 10 MHz 200 ns 400 ns 800 ns - 3.2 s 6.4 s 12.8 s
Notes 1.
When the internal clock is selected, set so as to satisfy the following conditions: VDD = REGC = 4.0 to 5.5 V: Count clock 10 MHz VDD = 4.0 to 5.5 V, REGC = 10 F: Count clock 5 MHz VDD = REGC = 2.7 to 4.0 V: Count clock 5 MHz
2. Remark
The external clock requires a pulse longer than two cycles of the internal clock (fXX/4). n = 0 or 2
298
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(b) Count clock for 16-bit timer/event counter 01
SELCNT1 Register ISEL11 Bit 0 0 0 0 1 1 1 1 PRM01 Register PRM011 Bit 0 0 1 1 0 0 1 1 PRM010 Bit 0 1 0 1 0 1 0 1 fXX fXX/4 INTWT Valid edge of TI010 fXX/2 fXX/8 fXX/16
Note 2
Selection of Count Clock Count Clock fXX = 20 MHz
Note 1
fXX = 16 MHz
fXX = 10 MHz 100 ns 400 ns - - 200 ns 800 ns 1.6 s
Setting prohibited Setting prohibited 200 ns - - 100 ns 400 ns 800 ns Setting prohibited 250 ns - - 125 ns 500 ns 1.0 s
Notes 1.
When the internal clock is selected, set so as to satisfy the following conditions: VDD = REGC = 4.0 to 5.5 V: Count clock 10 MHz VDD = 4.0 to 5.5 V, REGC = 10 F: Count clock 5 MHz VDD = REGC = 2.7 to 4.0 V: Count clock 5 MHz
2.
The external clock requires a pulse longer than two cycles of the internal clock (fXX/4).
(c) Count clock for 16-bit timer/event counter 03
SELCNT1 Register ISEL13 Bit 0 0 0 0 1 1 1 1 PRM03 Register PRM031 Bit 0 0 1 1 0 0 1 1 PRM030 Bit 0 1 0 1 0 1 0 1 fXX/4 fXX/16 fXX/512 Valid edge of TI030 fXX fXX/2 fXX/8
Note 2
Selection of Count Clock Count Clock fXX = 20 MHz 200 ns 800 ns 25.6 s -
Note 1
fXX = 16 MHz 250 ns 1.0 s 32.0 s -
fXX = 10 MHz 400 ns 1.6 s 51.2 s - 100 ns 200 ns 800 ns
Setting prohibited Setting prohibited 100 ns 400 ns Setting prohibited 125 ns 500 ns
Notes 1.
When the internal clock is selected, set so as to satisfy the following conditions: VDD = REGC = 4.0 to 5.5 V: Count clock 10 MHz VDD = 4.0 to 5.5 V, REGC = 10 F: Count clock 5 MHz VDD = REGC = 2.7 to 4.0 V: Count clock 5 MHz
2.
The external clock requires a pulse longer than two cycles of the internal clock (fXX/4).
Preliminary User's Manual U17703EJ1V0UD
299
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.4 Operation
8.4.1 Interval timer operation If the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits are set to 11 (clear & start mode entered upon a match between the TM0n register and the CR0n0 register), the count operation is started in synchronization with the count clock. When the value of the TM0n register later matches the value of the CR0n0 register, the TM0n register is cleared to 0000H and a match interrupt signal (INTTM0n0) is generated. This INTTM0n0 signal enables the TM0n register to operate as an interval timer. Remarks 1. For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. For enabling the INTTM0n0 interrupt, refer to CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION. Figure 8-2. Block Diagram of Interval Timer Operation
Clear Count clock 16-bit counter (TM0n) Match signal Operable bits TMC0n3, TMC0n2 CR0n0 register INTTM0n0 signal
Remark
n = 0 to 3
Figure 8-3. Basic Timing Example of Interval Timer Operation
N TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Interval (N + 1) Interval (N + 1) Interval (N + 1) Interval (N + 1) 00 11 N N N N
Remark
n = 0 to 3
300
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-4. Example of Register Settings for Interval Timer Operation (a) 16-bit timer mode control register 0n (TMC0n)
TMC0n3 TMC0n2 TMC0n1 0 0 0 0 1 1 0 OVF0n 0
Clears and starts on match between TM0n and CR0n0.
(b) Capture/compare control register 0n (CRC0n)
CRC0n2 CRC0n1 CRC0n0 0 0 0 0 0 0 0 0 CR0n0 used as compare register
(c) 16-bit timer output control register 0n (TOC0n)
OSPT0n OSPE0n TOC0n4 0 0 0 0 LVS0n 0 LVR0n 0 TOC0n1 0 TOE0n 0
(d) Prescaler mode register 0n (PRM0n), selector operation control register 1 (SELCNT1)
ESn11 PRM0n 0 ESn10 0 ESn01 0 ESn00 0 0 0 PRM0n1 PRM0n0 0/1 0/1 SELCNT1 ISEL1n 0/1
Selects count clock.
(e) 16-bit timer counter 0n (TM0n) By reading the TM0n register, the count value can be read. (f) 16-bit capture/compare register 0n0 (CR0n0) If M is set to the CR0n0 register, the interval time is as follows. * Interval time = (M + 1) x Count clock cycle Setting the CR0n0 register to 0000H is prohibited. (g) 16-bit capture/compare register 0n1 (CR0n1) Usually, the CR0n1 register is not used for the interval timer function. However, a compare match interrupt (INTTM0n1) is generated when the set value of the CR0n1 register matches the value of the TM0n register. Therefore, mask the interrupt request by using the interrupt mask flag (TM0MKn1). Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
301
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-5. Example of Software Processing for Interval Timer Function
N TM0n register 0000H
Operable bits (TMC0n3, TMC0n2)
N
N
00
11 N
00
Compare register (CR0n0) Compare match interrupt (INTTM0n0) <1>
<2>
<1> Count operation start flow
START
Register initial setting PRM0n register, SELCNT1 register, CRC0n register, CR0n0 register, port setting
Initial setting of these registers is performed before setting the TMC0n3 and TMC0n2 bits to 11.
TMC0n3, TMC0n2 bits = 11
Starts count operation
<2> Count operation stop flow
The counter is initialized and counting is stopped by clearing the TMC0n3 and TMC0n2 bits to 00.
TMC0n3, TMC0n2 bits = 00
STOP
Remark
n = 0 to 3
302
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.4.2 Square wave output operation When 16-bit timer/event counter 0n operates as an interval timer (see 8.4.1), a square wave can be output from the TO0n pin by setting the TOC0n register to 03H. When the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits are set to 11 (count clear & start mode entered upon a match between the TM0n register and the CR0n0 register), the counting operation is started in synchronization with the count clock. When the value of the TM0n register later matches the value of the CR0n0 register, the TM0n register is cleared to 0000H, an interrupt signal (INTTM0n0) is generated, and output of the TO0n pin is inverted. This TO0n pin output that is inverted at fixed intervals enables TO0n to output a square wave. Remarks 1. For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. For enabling the INTTM0n0 interrupt, refer to CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION. Figure 8-6. Block Diagram of Square Wave Output Operation
Clear Count clock 16-bit counter (TM0n) Match signal Operable bits TMC0n3, TMC0n2 CR0n0 register Output controller TO0n pin
INTTM0n0 signal
Remark
n = 0 to 3
Figure 8-7. Basic Timing Example of Square Wave Output Operation
N TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Compare register (CR0n0) TO0n pin output Compare match interrupt (INTTM0n0) Interval (N + 1) Interval (N + 1) Interval (N + 1) Interval (N + 1) 00 11 N N N N
Remark
n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
303
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-8. Example of Register Settings for Square Wave Output Operation (a) 16-bit timer mode control register 0n (TMC0n)
TMC0n3 TMC0n2 TMC0n1 0 0 0 0 1 1 0 OVF0n 0
Clears and starts on match between TM0n and CR0n0.
(b) Capture/compare control register 0n (CRC0n)
CRC0n2 CRC0n1 CRC0n0 0 0 0 0 0 0 0 0 CR0n0 used as compare register
(c) 16-bit timer output control register 0n (TOC0n)
OSPT0n OSPE0n TOC0n4 0 0 0 0 LVS0n 0/1 LVR0n 0/1 TOC0n1 1 TOE0n 1 Enables TO0n pin output. Inverts TO0n pin output on match between TM0n and CR0n0. Specifies the initial value of TO0n output F/F.
(d) Prescaler mode register 0n (PRM0n), selector operation control register 1 (SELCNT1)
ESn11 PRM0n 0 ESn10 0 ESn01 0 ESn00 0 0 0 PRM0n1 PRM0n0 0/1 0/1 SELCNT1 ISEL1n 0/1
Selects count clock.
(e) 16-bit timer counter 0n (TM0n) By reading the TM0n register, the count value can be read. (f) 16-bit capture/compare register 0n0 (CR0n0) If M is set to the CR0n0 register, the square wave frequency is as follows. 1 / [2 x (M + 1) x Count clock cycle] Setting the CR0n0 register to 0000H is prohibited. (g) 16-bit capture/compare register 0n1 (CR0n1) Usually, the CR0n1 register is not used for the square wave output function. However, a compare match interrupt (INTTM0n1) is generated when the set value of the CR0n1 register matches the value of the TM0n register. Therefore, mask the interrupt request by using the interrupt mask flag (TM0MKn1). Remark n = 0 to 3
304
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-9. Example of Software Processing for Square Wave Output Function
N TM0n register 0000H
Operable bits (TMC0n3, TMC0n2)
N
N
00
11 N
00
Compare register (CR0n0) TO0n pin output Compare match interrupt (INTTM0n0) TO0n output control bit (TOC0n1, TOE0n) <1>
<2>
<1> Count operation start flow
START
Register initial setting PRM0n register, SELCNT1 register, CRC0n register, TOC0n registerNote, CR0n0 register, port setting
Initial setting of these registers is performed before setting the TMC0n3 and TMC0n2 bits to 11.
TMC0n3, TMC0n2 bits = 11
Starts count operation.
<2> Count operation stop flow
The counter is initialized and counting is stopped by clearing the TMC0n3 and TMC0n2 bits to 00.
TMC0n3, TMC0n2 bits = 00
STOP
Note Care must be exercised when setting the TOC0n register. For details, see 8.3 (3) 16-bit timer output control register 0n (TOC0n). Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
305
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.4.3 External event counter operation When the PRM0n.PRM0n1 and PRM0n.PRM0n0 bits are set to 11 (for counting up with the valid edge of the TI0n0 pin) and the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits are set to 11, the valid edge of an external event input is counted, and a match interrupt signal indicating matching between the TM0n register and the CR0n0 register (INTTM0n0) is generated. To input the external event, the TI0n0 pin is used. Therefore, the timer/event counter cannot be used as an external event counter in the clear & start mode entered by the TI0n0 pin valid edge input (when the TMC0n3 and TMC0n2 bits = 10). The INTTM0n0 signal is generated with the following timing. * Timing of generation of INTTM0n0 signal (second time or later) = Number of times of detection of valid edge of external event x (Set value of the CR0n0 register + 1) However, the first match interrupt immediately after the timer/event counter has started operating is generated with the following timing. * Number of times of detection of valid edge of external event input x (Set value of the CR0n0 register + 2) To detect the valid edge, the signal input to the TI0n0 pin is sampled during the clock cycle of fPRS. The valid edge is not detected until it is detected two times in a row. Therefore, a noise with a short pulse width can be eliminated. Remarks 1. For the alternate-function pin (TI0n0) settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. For enabling the INTTM0n0 interrupt, refer to CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION. Figure 8-10. Block Diagram of External Event Counter Operation
fXX/4
Clear
TI0n0 pin
Edge detection
16-bit counter (TM0n)
Match signal
Output controller
TO0n pin
Operable bits TMC0n3, TMC0n2
INTTM0n0 signal
CR0n0 register
Remark
n = 0 to 3
306
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-11. Example of Register Settings in External Event Counter Mode (a) 16-bit timer mode control register 0n (TMC0n)
TMC0n3 TMC0n2 TMC0n1 0 0 0 0 1 1 0 OVF0n 0
Clears and starts on match between TM0n and CR0n0.
(b) Capture/compare control register 0n (CRC0n)
CRC0n2 CRC0n1 CRC0n0 0 0 0 0 0 0 0 0 CR0n0 used as compare register
(c) 16-bit timer output control register 0n (TOC0n)
OSPT0n OSPE0n TOC0n4 0 0 0 0/1 LVS0n 0/1 LVR0n 0/1 TOC0n1 0/1 TOE0n 0/1 0: Disables TO0n output. 1: Enables TO0n output. Specifies initial value of TO0n output F/F. 00: Does not invert TO0n output on match between TM0n and CR0n0/CR0n1. 01: Inverts TO0n output on match between TM0n and CR0n0. 10: Inverts TO0n output on match between TM0n and CR0n1. 11: Inverts TO0n output on match between TM0n and CR0n0/CR0n1.
(d) Prescaler mode register 0n (PRM0n), selector operation control register 1 (SELCNT1)
ESn11 PRM0n 0 ESn10 0 ESn01 0/1 ESn00 0/1 0 0 PRM0n1 PRM0n0 1 1 SELCNT1 ISEL1n 0
Selects count clock (specifies valid edge of TI0n0). 00: Falling edge detection 01: Rising edge detection 10: Setting prohibited 11: Both edges detection
(e) 16-bit timer counter 0n (TM0n) By reading the TM0n register, the count value can be read. (f) 16-bit capture/compare register 0n0 (CR0n0) If M is set to the CR0n0 register, the interrupt signal (INTTM0n0) is generated when the number of external events reaches (M + 1). Setting the CR0n0 register to 0000H is prohibited. (g) 16-bit capture/compare register 0n1 (CR0n1) When this register's value matches the count value of the TM0n register, an interrupt signal (INTTM0n1) is generated. The count value of the TM0n register is not cleared. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
307
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-12. Example of Software Processing in External Event Counter Mode
N TM0n register 0000H
Operable bits (TMC0n3, TMC0n2) 00
N
N
11 N
00
Compare register (CR0n0) TO0n pin output Compare match interrupt (INTTM0n0) TO0n output control bit (TOC0n4, TOC0n1, TOE0n) <1>
<2>
<1> Count operation start flow
START
Register initial setting PRM0n register, SELCNT1 register, CRC0n register, TOC0n registerNote, CR0n0 register, port setting
Initial setting of these registers is performed before setting the TMC0n3 and TMC0n2 bits to 11.
TMC0n3, TMC0n2 bits = 11
Starts count operation.
<2> Count operation stop flow
TMC0n3, TMC0n2 bits = 00
The counter is initialized and counting is stopped by clearing the TMC0n3 and TMC0n2 bits to 00.
STOP
Note Care must be exercised when setting the TOC0n register. For details, see 8.3 (3) 16-bit timer output control register 0n (TOC0n). Remark n = 0 to 3
308
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.4.4 Operation in clear & start mode entered by TI0n0 pin valid edge input When the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits are set to 10 (clear & start mode entered by the TI0n0 pin valid edge input) and the count clock (set by the PRM0n, SELCNT1 registers) is supplied to the timer/event counter, the TM0n register starts counting up. When the valid edge of the TI0n0 pin is detected during the counting operation, the TM0n register is cleared to 0000H and starts counting up again. If the valid edge of the TI0n0 pin is not detected, the TM0n register overflows and continues counting. The valid edge of the TI0n0 pin is a cause to clear the TM0n register. Starting the counter is not controlled immediately after the start of the operation. The CR0n0 and CR0n1 registers are used as compare registers and capture registers. (a) When the CR0n0 and CR0n1 registers are used as compare registers Signals INTTM0n0 and INTTM0n1 are generated when the value of the TM0n register matches the value of the CR0n0 and CR0n1 registers. (b) When the CR0n0 and CR0n1 registers are used as capture registers The count value of the TM0n register is captured to the CR0n0 register and the INTTM0n0 signal is generated when the valid edge is input to the TI0n1 pin (or when the phase reverse to that of the valid edge is input to the TI0n0 pin). When the valid edge is input to the TI0n0 pin, the count value of the TM0n register is captured to the CR0n1 register and the INTTM0n1 signal is generated. As soon as the count value has been captured, the counter is cleared to 0000H. Caution Do not set the count clock as the valid edge of the TI0n0 pin (RPM0n.PRM0n1 and RPM0n.PRM0n0 bits = 11). When the PRM0n1 and PRM0n0 bits = 11, the TM0n register is cleared. Remarks 1. For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. For enabling the INTTM0n0 interrupt, refer to CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION.
Preliminary User's Manual U17703EJ1V0UD
309
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(1) Operation in clear & start mode entered by TI0n0 pin valid edge input (CR0n0 register: compare register, CR0n1 register: compare register) Figure 8-13. Block Diagram of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 register: Compare Register, CR0n1 register: Compare Register)
TI0n0 pin
Edge detection Clear
Count clock
16-bit counter (TM0n) Match signal Interrupt signal (INTTM0n0) Output controller TO0n pin Interrupt signal (INTTM0n1)
Operable bits TMC0n3, TMC0n2 Compare register (CR0n0) Match signal
Compare register (CR0n1)
Remark
n = 0 to 3
310
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-14. Timing Example of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 Register: Compare Register, CR0n1 Register: Compare Register) (a) TOC0n = 13H, PRM0n = 10H, CRC0n = 00H, TMC0n = 08H
TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Count clear input (TI0n0 pin input) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Compare register (CR0n1) Compare match interrupt (INTTM0n1) TO0n pin output M 00 10 M N N M N M N M
N
(b) TOC0n = 13H, PRM0n = 10H, CRC0n, = 00H, TMC0n = 0AH
TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Count clear input (TI0n0 pin input) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Compare register (CR0n1) Compare match interrupt (INTTM0n1) TO0n pin output M 00 10 M N N M N M N M
N
(a) and (b) differ as follows depending on the setting of the TMC0n register (TMC0n1 bit). (a) The output level of the TO0n pin is inverted when the TM0n register matches a compare register. (b) The output level of the TO0n pin is inverted when the TM0n register matches a compare register or when the valid edge of the TI0n0 pin is detected. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
311
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(2) Operation in clear & start mode entered by TI0n0 pin valid edge input (CR0n0 register: compare register, CR0n1 register: capture register) Figure 8-15. Block Diagram of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 Register: Compare Register, CR0n1 Register: Capture Register)
TI0n0 pin
Edge detector Clear
Count clock
16-bit counter (TM0n) Match signal Interrupt signal (INTTM0n0) Output controller TO0n pin
Operable bits TMC0n3, TMC0n2 Compare register (CR0n0)
Capture signal
Capture register (CR0n1)
Interrupt signal (INTTM0n1)
Remark
n = 0 to 3
312
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-16. Timing Example of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 Register: Compare Register, CR0n1 Register: Capture Register) (1/2) (a) TOC0n = 13H, PRM0n = 10H, CRC0n, = 04H, TMC0n = 08H, CR0n0 = 0000H
M TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Capture & count clear input (TI0n0 pin input) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) TO0n pin output N S P Q
00
10
0000H
0000H
M
N
S
P
Q
This is an application example where the output level of the TO0n pin is inverted when the count value has been captured & cleared. The count value is captured to the CR0n1 register and the TM0n register is cleared (to 0000H) when the valid edge of the TI0n0 pin is detected. When the count value of the TM0n register is 0000H, a compare match interrupt signal (INTTM0n0) is generated, and the output level of the TO0n pin is inverted. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
313
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-16. Timing Example of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 Register: Compare Register, CR0n1 Register: Capture Register) (2/2) (b) TOC0n = 13H, PRM0n = 10H, CRC0n = 04H, TMC0n = 0AH, CR0n0 = 0003H
M TM0n register 0003H 0000H Operable bits (TMC0n3, TMC0n2) Capture & count clear input (TI0n0 pin input) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) TO0n pin output 0000H M N S P Q 0003H 00 10 N S P Q
4
4
4
4
This is an application example where the width set to the CR0n0 register (4 clocks in this example) is to be output from the TO0n pin when the count value has been captured & cleared. The count value is captured to the CR0n1 register, a capture interrupt signal (INTTM0n1) is generated, the TM0n register is cleared (to 0000H), and the output level of the TO0n pin is inverted when the valid edge of the TI0n0 pin is detected. When the count value of the TM0n register is 0003H (four clocks have been counted), a compare match interrupt signal (INTTM0n0) is generated and the output level of the TO0n pin is inverted. Remark n = 0 to 3
314
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(3) Operation in clear & start mode entered by TI0n0 pin valid edge input (CR0n0 register: capture register, CR0n1 register: compare register) Figure 8-17. Block Diagram of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 Register: Capture Register, CR0n1 Register: Compare Register)
TI0n0 pin
Edge detection Clear
Count clock
16-bit counter (TM0n) Match signal Interrupt signal (INTTM0n1) Output controller TO0n pin
Operable bits TMC0n3, TMC0n2 Compare register (CR0n1)
Capture signal
Capture register (CR0n0)
Interrupt signal (INTTM0n0)
Remark
n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
315
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-18. Timing Example of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 Register: Capture Register, CR0n1 Register: Compare Register) (1/2) (a) TOC0n = 13H, PRM0n = 10H, CRC0n = 03H, TMC0n = 08H, CR0n1 = 0000H
TM0n register M 0000H Operable bits (TMC0n3, TMC0n2) Capture & count clear input (TI0n0 pin input) Capture register (CR0n0) Capture interrupt (INTTM0n0) Compare register (CR0n1) Compare match interrupt (INTTM0n1) TO0n pin output N S P
00
10
0000H L 0000H
M
N
S
P
This is an application example where the output level of the TO0n pin is to be inverted when the count value has been captured & cleared. The TM0n register is cleared at the rising edge detection of the TI0n0 pin and it is captured to the CR0n0 register at the falling edge detection of the TI0n0 pin. When the CRC0n.CRC0n1 bit is set to 1, the count value of the TM0n register is captured to CR0n0 in the phase reverse to that of the signal input to the TI0n0 pin, but the capture interrupt signal (INTTM0n0) is not generated. However, the INTTM0n0 signal is generated when the valid edge of the TI0n1 pin is detected. Mask the INTTM0n0 signal when it is not used. Remark n = 0 to 3
316
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-18. Timing Example of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 Register: Capture Register, CR0n1 Register: Compare Register) (2/2) (b) TOC0n = 13H, PRM0n = 10H, CRC0n = 03H, TMC0n = 0AH, CR0n1 = 0003H
TM0n register 0003H 0000H Operable bits (TMC0n3, TMC0n2) Capture & count clear input (TI0n0 pin input) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) TO0n pin output
M N
S
P
00
10
0000H L 0003H
M
N
S
P
4
4
4
4
This is an application example where the width set to the CR0n1 register (4 clocks in this example) is to be output from the TO0n pin when the count value has been captured & cleared. The TM0n register is cleared (to 0000H) at the rising edge detection of the TI0n0 pin and captured to the CR0n0 register at the falling edge detection of the TI0n0 pin. The output level of the TO0n pin is inverted when the TM0n register is cleared (to 0000H) because the rising edge of the TI0n0 pin has been detected or when the value of the TM0n register matches that of a compare register (CR0n1). When the CRC0n.CRC0n1 bit is 1, the count value of the TM0n register is captured to the CR0n0 register in the phase reverse to that of the input signal of the TI0n0 pin, but the capture interrupt signal (INTTM0n0) is not generated. However, the INTTM0n0 interrupt is generated when the valid edge of the TI0n1 pin is detected. Mask the INTTM0n0 signal when it is not used. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
317
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(4) Operation in clear & start mode entered by TI0n0 pin valid edge input (CR0n0 register: capture register, CR0n1 register: capture register) Figure 8-19. Block Diagram of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 Register: Capture Register, CR0n1 Register: Capture Register)
Operable bits TMC0n3, TMC0n2
Clear 16-bit counter (TM0n)
Count clock
Capture signal
Capture register (CR0n1) Output controller
Interrupt signal (INTTM0n1) TO0n pin Interrupt signal (INTTM0n0)
Selector
TI0n0 pin TI0n1 pin
Edge detection Edge detection
Capture signal
Capture register (CR0n0)
Remark
n = 0 to 3
318
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-20. Timing Example of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 Register: Capture Register, CR0n1 Register: Capture Register) (1/3)
(a) TOC0n = 13H, PRM0n = 30H, CRC0n = 05H, TMC0n = 0AH
L TM0n register M 0000H Operable bits (TMC0n3, TMC0n2) Capture & count clear input (TI0n0 pin input) Capture register (CR0n0) Capture interrupt (INTTM0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) TO0n pin output N O P Q R S T
00
10
0000H L 0000H L M N O P Q R S T
This is an application example where the count value is captured to the CR0n1 register, the TM0n register is cleared, and the TO0n pin output is inverted when the rising or falling edge of the TI0n0 pin is detected. When the edge of the TI0n1 pin is detected, an interrupt signal (INTTM0n0) is generated. Mask the INTTM0n0 signal when it is not used. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
319
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-20. Timing Example of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 Register: Capture Register, CR0n1 Register: Capture Register) (2/3) (b) TOC0n = 13H, PRM0n = C0H, CRC0n = 05H, TMC0n = 0AH
FFFFH TM0n register M 0000H Operable bits (TMC0n3, TMC0n2) Capture trigger input (TI0n1 pin input) Capture register (CR0n0) Capture interrupt (INTTM0n0) Capture & count clear input (TI0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) O N P Q S R
L
T
00
10
0000H
L
M
N
O
P
Q
R
S
T
L 0000H L L
TO0n pin output
This is a timing example where an edge is not input to the TI0n0 pin, in an application where the count value is captured to the CR0n0 register when the rising or falling edge of the TI0n1 pin is detected. Because the TO0n0 pin does not detect any edges, the TO0n pin output is not inverted and remains low level. Remark n = 0 to 3
320
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-20. Timing Example of Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (CR0n0 Register: Capture Register, CR0n1 Register: Capture Register) (3/3) (c) TOC0n = 13H, PRM0n = 00H, CRC0n = 07H, TMC0n = 0AH
M TM0n register L 0000H Operable bits (TMC0n3, TMC0n2) Capture & count clear input (TI0n0 pin input) Capture register (CR0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) TO0n pin output Capture input (TI0n1) Capture interrupt (INTTM0n0) N P O Q R S T W
00
10
0000H 0000H
L M
N O
P Q
R S
T W
L L
This is an application example where the pulse width of the signal input to the TI0n0 pin is measured. By setting the CRC0n register, the count value can be captured to the CR0n0 register in the phase reverse to the falling edge of the TI0n0 pin (i.e., rising edge) and to the CR0n1 register at the falling edge of the TI0n0 pin. The high- and low-level widths of the input pulse can be calculated by the following expressions. * High-level width = [CR0n1 register value] - [CR0n0 register value] x [Count clock cycle] * Low-level width = [CR0n0 register value] x [Count clock cycle] If the reverse phase of the TI0n0 pin is selected as a trigger to capture the count value to the CR0n0 register, the INTTM0n0 signal is not generated. Read the values of the CR0n0 and CR0n1 registers to measure the pulse width immediately after the INTTM0n1 signal is generated. However, if the valid edge specified by the PRM0n.ESn11 and PRM0n.ESn10 bits is input to the TI0n1 pin, the count value is not captured but the INTTM0n0 signal is generated. To measure the pulse width of the TI0n0 pin, mask the INTTM0n0 signal when it is not used. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
321
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-21. Example of Register Settings in Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (1/2) (a) 16-bit timer mode control register 0n (TMC0n)
TMC0n3 TMC0n2 TMC0n1 0 0 0 0 1 0 0/1 OVF0n 0
0: Inverts TO0n output on match between CR0n0 and CR0n1. 1: Inverts TO0n output on match between CR0n0 and CR0n1 and valid edge of TI0n0 pin. Clears and starts at valid edge input of TI0n0 pin.
(b) Capture/compare control register 0n (CRC0n)
CRC0n2 CRC0n1 CRC0n0 0 0 0 0 0 0/1 0/1 0/1
0: CR0n0 used as compare register 1: CR0n0 used as capture register 0: TI0n1 pin is used as capture trigger of CR0n0. 1: Reverse phase of TI0n0 pin is used as capture trigger of CR0n0. 0: CR0n1 used as compare register 1: CR0n1 used as capture register
(c) 16-bit timer output control register 0n (TOC0n)
OSPT0n OSPE0n TOC0n4 0 0 0 0/1 LVS0n 0/1 LVR0n 0/1 TOC0n1 0/1 TOE0n 0/1 0: Disables TO0n output 1: Enables TO0n output Specifies initial value of TO0n output F/F 00: Does not invert TO0n output on match between TM0n and CR0n0/CR0n1. 01: Inverts TO0n output on match between TM0n and CR0n0. 10: Inverts TO0n output on match between TM0n and CR0n1. 11: Inverts TO0n output on match between TM0n and CR0n0/CR0n1.
Remark
n = 0 to 3
322
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-21. Example of Register Settings in Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input (2/2) (d) Prescaler mode register 0n (PRM0n), selector operation control register 1 (SELCNT1)
ESn11 PRM0n 0/1 ESn10 0/1 ESn01 0/1 ESn00 0/1 0 0 PRM0n1 PRM0n0 0/1 0/1 SELCNT1 ISEL1n 0/1
Count clock selection (setting TI0n0 valid edge is prohibited) 00: 01: 10: 11: 00: 01: 10: 11: Falling edge detection Rising edge detection Setting prohibited Both edges detection (setting prohibited when CRC0n1 = 1) Falling edge detection Rising edge detection Setting prohibited Both edges detection
(e) 16-bit timer counter 0n (TM0n) By reading the TM0n register, the count value can be read. (f) 16-bit capture/compare register 0n0 (CR0n0) When this register is used as a compare register and when its value matches the count value of the TM0n register, an interrupt signal (INTTM0n0) is generated. The count value of the TM0n register is not cleared. To use this register as a capture register, select either the TI0n0 or TI0n1 pin input as a capture trigger. When the valid edge of the capture trigger is detected, the count value of the TM0n register is stored in the CR0n0 register. (g) 16-bit capture/compare register 0n1 (CR0n1) When this register is used as a compare register and when its value matches the count value of the TM0n register, an interrupt signal (INTTM0n1) is generated. The count value of the TM0n register is not cleared. When this register is used as a capture register, the TI0n0 pin input is used as a capture trigger. When the valid edge of the capture trigger is detected, the count value of the TM0n register is stored in the CR0n1 register. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
323
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-22. Example of Software Processing in Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input
TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Count clear input (TI0n0 pin input) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Compare register (CR0n1) Compare match interrupt (INTTM0n1) TO0n pin output M N N M N M N M
00
10
00
M
N
<1>
<2>
<2>
<2>
<2>
<3>
<1> Count operation start flow
<3> Count operation stop flow
The counter is initialized and counting is stopped by clearing the TMC0n3 and TMC0n2 bits to 00.
START
TMC0n3, TMC0n2 bits = 00
Register initial setting PRM0n register, SELCNT1 register, CRC0n register, TOC0n registerNote, CR0n0, CR0n1 registers, TMC0n.TMC0n1 bit, port setting
Initial setting of these registers is performed before setting the TMC0n3 and TMC0n2 bits to 10.
STOP
TMC0n3, TMC0n2 bits = 10
Starts count operation
<2> TM0n register clear & start flow
Edge input to TI0n0 pin
When the valid edge is input to the TI0n0 pin, the value of the TM0n register is cleared.
Note Care must be exercised when setting the TOC0n register. For details, see 8.3 (3) 16-bit timer output control register 0n (TOC0n). Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
324
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.4.5 Free-running timer operation When the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits are set to 01 (free-running timer mode), 16-bit timer/event counter 0n continues counting up in synchronization with the count clock. When it has counted up to FFFFH, the overflow flag (TMC0n.OVF0n bit) is set to 1 at the next clock, and the TM0n register is cleared (to 0000H) and continues counting. Clear the OVF0n bit to 0 by executing the CLR instruction via software. The following three types of free-running timer operations are available. * Both the CR0n0 and CR0n1 registers are used as compare registers. * Either the CR0n0 register or CR0n1 register is used as a compare register and the other is used as a capture register. * Both the CR0n0 and CR0n1 registers are used as capture registers. Remarks 1. For the alternate-function pin (TO0n) settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. For enabling the INTTM0n0 and INTTM0n1 interrupts, refer to CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION. (1) Free-running timer mode operation (CR0n0 register: compare register, CR0n1 register: compare register) Figure 8-23. Block Diagram of Free-Running Timer Mode (CR0n0 Register: Compare Register, CR0n1 Register: Compare Register)
Count clock
16-bit counter (TM0n) Match signal Interrupt signal (INTTM0n0) Output controller TO0n pin Interrupt signal (INTTM0n1)
Operable bits TMC0n3, TMC0n2 Compare register (CR0n0) Match signal
Compare register (CR0n1)
Remark
n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
325
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-24. Timing Example of Free-Running Timer Mode (CR0n0 Register: Compare Register, CR0n1 Register: Compare Register) * TOC0n = 13H, PRM0n = 00H, CRC0n = 00H, TMC0n = 04H
FFFFH
TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Compare register (CR0n1) Compare match interrupt (INTTM0n1) TO0n pin output Overflow flag (OVF0n) 0 write clear 0 write clear 0 write clear 0 write clear N M N M N M N M
00
01 M
00
N
This is an application example where two compare registers are used in the free-running timer mode. The output level of the TO0n pin is reversed each time the count value of the TM0n register matches the set values of the CR0n0 and CR0n1 registers. When the count value matches the register value, the INTTM0n0 or INTTM0n1 signal is generated. Remark n = 0 to 3
(2) Free-running timer mode operation (CR0n0 register: compare register, CR0n1 register: capture register) Figure 8-25. Block Diagram of Free-Running Timer Mode (CR0n0 Register: Compare Register, CR0n1 Register: Capture Register)
Count clock 16-bit counter (TM0n) Match signal Operable bits TMC0n3, TMC0n2 Compare register (CR0n0) Output controller Interrupt signal (INTTM0n0) TO0n pin
TI0n0 pin
Edge detection
Capture signal
Capture register (CR0n1)
Interrupt signal (INTTM0n1)
Remark
n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
326
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-26. Timing Example of Free-Running Timer Mode (CR0n0 Register: Compare Register, CR0n1 Register: Capture Register) * TOC0n = 13H, PRM0n = 10H, CRC0n = 04H, TMC0n = 04H
FFFFH
TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Capture trigger input (TI0n0) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Compare register (CR0n1) Capture interrupt (INTTM0n1) TO0n pin output Overflow flag (OVF0n)
M
N
S
P Q
00
01
0000H
0000H
M
N
S
P
Q
0 write clear
0 write clear
0 write clear
0 write clear
This is an application example where a compare register and a capture register are used at the same time in the free-running timer mode. In this example, the INTTM0n0 signal is generated and the output level of the TO0n pin is reversed each time the count value of the TM0n register matches the set value of the CR0n0 register (compare register). In addition, the INTTM0n1 signal is generated and the count value of the TM0n register is captured to the CR0n1 register each time the valid edge of the TI0n0 pin is detected. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
327
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(3) Free-running timer mode operation (CR0n0 register: capture register, CR0n1 register: capture register) Figure 8-27. Block Diagram of Free-Running Timer Mode (CR0n0 Register: Capture Register, CR0n1 Register: Capture Register)
Operable bits TMC0n3, TMC0n2 16-bit counter (TM0n)
Count clock
Capture signal
Capture register (CR0n1)
Interrupt signal (INTTM0n1)
Selector
TI0n0 pin TI0n1 pin
Edge detection Edge detection
Capture signal
Capture register (CR0n0)
Interrupt signal (INTTM0n0)
Remarks 1. If both the CR0n0 and CR0n1 registers are used as capture registers in the free-running timer mode, the output level of the TO0n pin is not inverted. However, it can be inverted each time the valid edge of the TI0n0 pin is detected if the TMC0n.TMC0n1 bit is set to 1. 2. n = 0 to 5
328
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-28. Timing Example of Free-Running Timer Mode (CR0n0 Register: Capture Register, CR0n1 Register: Capture Register) (1/2) (a) TOC0n = 13H, PRM0n = 0 to 50H, CRC0n = 05H, TMC0n = 04H
FFFFH
M TM0n register A 0000H Operable bits (TMC0n3, TMC0n2) Capture trigger input (TI0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) Capture trigger input (TI0n1) Capture register (CR0n0) Capture interrupt (INTTM0n0) Overflow flag (OVF0n) 0 write clear 0 write clear 0 write clear 0 write clear B N C S D P E Q
00
01
0000H
M
N
S
P
Q
0000H
A
B
C
D
E
This is an application example where the count values that have been captured at the valid edges of separate capture trigger signals are stored in separate capture registers in the free-running timer mode. The count value is captured to the CR0n1 register when the valid edge of the TI0n0 pin input is detected and to the CR0n0 register when the valid edge of the TI0n1 pin input is detected. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
329
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-28. Timing Example of Free-Running Timer Mode (CR0n0 Register: Capture Register, CR0n1 Register: Capture Register) (2/2) (b) TOC0n = 13H, PRM0n = C0H, CRC0n = 05H, TMC0n = 04H
FFFFH TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Capture trigger input (TI0n1) Capture register (CR0n0) Capture interrupt (INTTM0n0) Capture trigger input (TI0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) M O N P Q S R
L
T
00
01
0000H
L
M
N
O
P
Q
R
S
T
L 0000H L
This is an application example where both the edges of the TI0n1 pin are detected and the count value is captured to the CR0n0 register in the free-running timer mode. When both the CR0n0 and CR0n1 registers are used as capture registers and when the valid edge of only the TI0n1 pin is to be detected, the count value cannot be captured to the CR0n1 register. Remark n = 0 to 3
330
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-29. Example of Register Settings in Free-Running Timer Mode (1/2) (a) 16-bit timer mode control register 0n (TMC0n)
TMC0n3 TMC0n2 TMC0n1 0 0 0 0 0 1 0/1 OVF0n 0
0: Inverts TO0n pin output on match between CR0n0 and CR0n1. 1: Inverts TO0n pin output on match between CR0n0 and CR0n1 and valid edge of TI0n0 pin. Free-running timer mode
(b) Capture/compare control register 0n (CRC0n)
CRC0n2 CRC0n1 CRC0n0 0 0 0 0 0 0/1 0/1 0/1
0: CR0n0 used as compare register 1: CR0n0 used as capture register 0: TI0n1 pin is used as capture trigger of CR0n0. 1: Reverse phase of TI0n0 pin is used as capture trigger of CR0n0. 0: CR0n1 used as compare register 1: CR0n1 used as capture register
(c) 16-bit timer output control register 0n (TOC0n)
OSPT0n OSPE0n TOC0n4 0 0 0 0/1 LVS0n 0/1 LVR0n 0/1 TOC0n1 0/1 TOE0n 0/1 0: Disables TO0n output 1: Enables TO0n output Specifies initial value of TO0n output F/F 00: Does not invert TO0n output on match between TM0n and CR0n0/CR0n1. 01: Inverts TO0n output on match between TM0n and CR0n0. 10: Inverts TO0n output on match between TM0n and CR0n1. 11: Inverts TO0n output on match between TM0n and CR0n0/CR0n1.
Remark
n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
331
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-29. Example of Register Settings in Free-Running Timer Mode (2/2) (d) Prescaler mode register 0n (PRM0n), selector operation control register 1 (SELCNT1)
ESn11 PRM0n 0/1 ESn10 0/1 ESn01 0/1 ESn00 0/1 0 0 PRM0n1 PRM0n0 0/1 0/1 SELCNT1 ISEL1n 0/1
Count clock selection (setting TI0n0 valid edge is prohibited) 00: 01: 10: 11: Falling edge detection Rising edge detection Setting prohibited Both edges detection (setting prohibited when CRC0n1 = 1) Falling edge detection Rising edge detection Setting prohibited Both edges detection
00: 01: 10: 11:
(e) 16-bit timer counter 0n (TM0n) By reading the TM0n register, the count value can be read. (f) 16-bit capture/compare register 0n0 (CR0n0) When this register is used as a compare register and when its value matches the count value of the TM0n register, an interrupt signal (INTTM0n0) is generated. The count value of the TM0n register is not cleared. To use this register as a capture register, select either the TI0n0 or TI0n1 pin input as a capture trigger. When the valid edge of the capture trigger is detected, the count value of the TM0n register is stored in the CR0n0 register. (g) 16-bit capture/compare register 0n1 (CR0n1) When this register is used as a compare register and when its value matches the count value of the TM0n register, an interrupt signal (INTTM0n1) is generated. The count value of the TM0n register is not cleared. When this register is used as a capture register, the TI0n0 pin input is used as a capture trigger. When the valid edge of the capture trigger is detected, the count value of the TM0n register is stored in the CR0n1 register. Remark n = 0 to 3
332
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-30. Example of Software Processing in Free-Running Timer Mode
FFFFH M TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Compare register (CR0n1) Compare match interrupt (INTTM0n1) Timer output control bits (TOE0n, TOC0n4, TOC0n1) TO0n pin output N N M N M N
00
01 M
00
N
<1> <1> Count operation start flow
START
<2>
Register initial setting PRM0n register, SELCNT1 register, CRC0n register, TOC0n registerNote, CR0n0/CR0n1 register, TMC0n.TMC0n1 bit, port setting
Initial setting of these registers is performed before setting the TMC0n3 and TMC0n2 bits to 01.
TMC0n3, TMC0n2 bits = 0, 1
Starts count operation
<2> Count operation stop flow
TMC0n3, TMC0n2 bits = 0, 0 The counter is initialized and counting is stopped by clearing the TMC0n3 and TMC0n2 bits to 00.
STOP
Note Care must be exercised when setting the TOC0n register. For details, see 8.3 (3) 16-bit timer output control register 0n (TOC0n). Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
333
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.4.6 PPG output operation A rectangular wave having a pulse width set in advance by the CR0n1 register is output from the TO0n pin as a PPG (Programmable Pulse Generator) signal during a cycle set by the CR0n0 register when the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits are set to 11 (clear & start upon a match between the TM0n register and the CR0n0 register). The pulse cycle and duty factor of the pulse generated as the PPG output are as follows. * Pulse cycle = (Set value of the CR0n0 register + 1) x Count clock cycle * Duty = (Set value of the CR0n1 register + 1) / (Set value of the CR0n0 register + 1) Caution To change the duty factor (value of the CR0n1 register) during operation, see 8.5.1 Rewriting CR0n1 register during TM0n operation. Remarks 1. For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. For enabling the INTTM0n0 and INTTM0n1 interrupts, refer to CHAPTER 21 EXCEPTION PROCESSING FUNCTION. Figure 8-31. Block Diagram of PPG Output Operation INTERRUPT/
Clear Count clock 16-bit counter (TM0n) Match signal Operable bits TMC0n3, TMC0n2 Compare register (CR0n0) Match signal Output controller Interrupt signal (INTTM0n0) TO0n pin Interrupt signal (INTTM0n1)
Compare register (CR0n1)
Remark
n = 0 to 3
334
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-32. Example of Register Settings for PPG Output Operation (a) 16-bit timer mode control register 0n (TMC0n)
TMC0n3 TMC0n2 TMC0n1 0 0 0 0 1 1 0 OVF0n 0
Clears and starts on match between TM0n and CR0n0.
(b) Capture/compare control register 0n (CRC0n)
CRC0n2 CRC0n1 CRC0n0 0 0 0 0 0 0 0 0
CR0n0 used as compare register CR0n1 used as compare register
(c) 16-bit timer output control register 0n (TOC0n)
OSPT0n OSPE0n TOC0n4 0 0 0 1 LVS0n 0/1 LVR0n 0/1 TOC0n1 1 TOE0n 1 Enables TO0n output Specifies initial value of TO0n output F/F 11: Inverts TO0n output on match between TM0n and CR0n0/CR0n1. 00: Disables one-shot pulse output
(d) Prescaler mode register 0n (PRM0n), selector operation control register 1 (SELCNT1)
ESn11 PRM0n 0 ESn10 0 ESn01 0 ESn00 0 0 0 PRM0n1 PRM0n0 0/1 0/1 SELCNT1 ISEL1n 0/1
Selects count clock
(e) 16-bit timer counter 0n (TM0n) By reading the TM0n register, the count value can be read. (f) 16-bit capture/compare register 0n0 (CR0n0) An interrupt signal (INTTM0n0) is generated when the value of this register matches the count value of the TM0n register. (g) 16-bit capture/compare register 0n1 (CR0n1) An interrupt signal (INTTM0n1) is generated when the value of this register matches the count value of the TM0n register. Caution Set values to the CR0n0 and CR0n1 registers such that the condition 0000H CR0n1 < CR0n0 FFFFH is satisfied. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
335
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-33. Example of Software Processing for PPG Output Operation
M TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Compare register (CR0n1) Compare match interrupt (INTTM0n1) Timer output control bits (TOE0n, TOC0n4, TOC0n1) TO0n pin output N+1 M+1 N+1 M+1 N+1 M+1 N N M N M
00
11 M
00
N
<1> <1> Count operation start flow <2> Count operation stop flow
<2>
START
TMC0n3, TMC0n2 bits = 00
The counter is initialized and counting is stopped by clearing the TMC0n3 and TMC0n2 bits to 00.
Register initial setting PRM0n register, SELCNT1 register, CRC0n register, TOC0n registerNote, CR0n0, CR0n1 registers, port setting
Initial setting of these registers is performed before setting the TMC0n3 and TMC0n2 bits.
STOP
TMC0n3, TMC0n2 bits = 11
Starts count operation
Note Care must be exercised when setting the TOC0n register. For details, see 8.3 (3) 16-bit timer output control register 0n (TOC0n). Remarks 1. PPG pulse cycle = (M + 1) x Count clock cycle PPG duty = (N + 1)/(M + 1) 2. n = 0 to 3
336
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.4.7 One-shot pulse output operation A one-shot pulse can be output by setting the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits to 01 (free-running timer mode) or to 10 (clear & start mode entered by the TI0n0 pin valid edge) and setting the TOC0n.OSPE0n bit to 1. When the TOC0n.OSPT0n is set to 1 or when the valid edge is input to the TI0n0 pin during timer operation, clearing & starting of the TM0n register is triggered, and a pulse of the difference between the values of the CR0n0 and CR0n1 registers is output only once from the TO0n pin. Caution Do not input the trigger again (setting OSPT0n to 1 or detecting the valid edge of the TI0n0 pin) while the one-shot pulse is output. To output the one-shot pulse again, generate the trigger after the current one-shot pulse output has completed. Remarks 1. For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. For enabling the INTTM0n0 and INTTM0n1 interrupts, refer to CHAPTER 21 EXCEPTION PROCESSING FUNCTION. Figure 8-34. Block Diagram of One-Shot Pulse Output Operation INTERRUPT/
TI0n0 edge detection OSPT0n bit OSPE0n bit Count clock
Clear
16-bit counter (TM0n) Match signal Interrupt signal (INTTM0n0) Output controller TO0n pin Interrupt signal (INTTM0n1)
Operable bits TMC0n3, TMC0n2 Compare register (CR0n0) Match signal
Compare register (CR0n1)
Remark
n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
337
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-35. Example of Register Settings for One-Shot Pulse Output Operation (1/2) (a) 16-bit timer mode control register 0n (TMC0n)
TMC0n3 TMC0n2 TMC0n1 0 0 0 0 0/1 0/1 0 OVF0n 0
01: Free running timer mode 10: Clear and start mode by valid edge of TI0n0 pin.
(b) Capture/compare control register 0n (CRC0n)
CRC0n2 CRC0n1 CRC0n0 0 0 0 0 0 0 0 0
CR0n0 used as compare register CR0n1 used as compare register
(c) 16-bit timer output control register 0n (TOC0n)
OSPT0n OSPE0n TOC0n4 0 0/1 1 1 LVS0n 0/1 LVR0n 0/1 TOC0n1 1 TOE0n 1 Enables TO0n pin output Specifies initial value of TO0n pin output Inverts TO0n output on match between TM0n and CR0n0/CR0n1. Enables one-shot pulse output Software trigger is generated by writing 1 to this bit (operation is not affected even if 0 is written to it).
(d) Prescaler mode register 0n (PRM0n), selector operation control register 1 (SELCNT1)
ESn11 PRM0n 0 ESn10 0 ESn01 0 ESn00 0 0 0 PRM0n1 PRM0n0 0/1 0/1 SELCNT1 ISEL1n 0/1
Selects count clock
Remark
n = 0 to 3
338
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-35. Example of Register Settings for One-Shot Pulse Output Operation (2/2) (e) 16-bit timer counter 0n (TM0n) By reading the TM0n register, the count value can be read. (f) 16-bit capture/compare register 0n0 (CR0n0) This register is used as a compare register when a one-shot pulse is output. When the value of the TM0n register matches that of the CR0n0 register, an interrupt signal (INTTM0n0) is generated and the output level of the TO0n pin is inverted. (g) 16-bit capture/compare register 0n1 (CR0n1) This register is used as a compare register when a one-shot pulse is output. When the value of the TM0n register matches that of the CR0n1 register, an interrupt signal (INTTM0n1) is generated and the output level of the TO0n pin is inverted. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
339
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-36. Example of Software Processing for One-Shot Pulse Output Operation (1/2)
FFFFH N TM0n register 0000H
Operable bits (TMC0n3, TMC0n2)
N M M
N
M
00
01 or 10
00
One-shot pulse enable bit (OSPEn) One-shot pulse trigger bit (OSPTn) One-shot pulse trigger input (TI0n0 pin) Overflow plug (OVF0n) Compare register (CR0n0) Compare match interrupt (INTTM0n0) Compare register (CR0n1) Compare match interrupt (INTTM0n1) TO0n pin output M+1 TO0n output control bits (TOE0n, TOC0n4, TOC0n1) <1> <2> N-M M+1 N-M M N
TO0n output level is not inverted because no oneshot trigger is input.
<2>
<3>
* Time from when the one-shot pulse trigger is input until the one-shot pulse is output = (M + 1) x Count clock cycle * One-shot pulse output active level width = (N - M) x Count clock cycle Remark n = 0 to 3
340
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-36. Example of Software Processing for One-Shot Pulse Output Operation (2/2)
<1> Count operation start flow
START
Register initial setting PRM0n register, SELCNT1 register, CRC0n register, TOC0n registerNote, CR0n0, CR0n1 registers, port setting
Initial setting of these registers is performed before setting the TMC0n3 and TMC0n2 bits.
TMC0n3, TMC0n2 bits = 01 or 10
Starts count operation
<2> One-shot trigger input flow
TOC0n.OSPT0n bit = 1 or edge input to TI0n0 pin
Write the same value to the bits other than the OSPT0n bit.
<3> Count operation stop flow
TMC0n3, TMC0n2 bits = 00
The counter is initialized and counting is stopped by clearing the TMC0n3 and TMC0n2 bits to 00.
STOP
Note Care must be exercised when setting the TOC0n register. For details, see 8.3 (3) 16-bit timer output control register 0n (TOC0n). Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
341
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.4.8 Pulse width measurement operation The TM0n register can be used to measure the pulse width of the signal input to the TI0n0 and TI0n1 pins. Measurement can be accomplished by operating the 16-bit timer/event counter 0n in the free-running timer mode or by restarting the timer in synchronization with the signal input to the TI0n0 pin. When an interrupt is generated, read the value of the valid capture register and measure the pulse width. Check the TMC0n.OVF0n flag. If it is set (to 1), clear it to 0 by software. Figure 8-37. Block Diagram of Pulse Width Measurement (Free-Running Timer Mode)
Operable bits TMC0n3, TMC0n2 16-bit counter (TM0n)
Count clock
Capture signal
Capture register (CR0n1)
Interrupt signal (INTTM0n1)
Selector
TI0n0 pin TI0n1 pin
Edge detection Edge detection
Capture signal
Capture register (CR0n0)
Interrupt signal (INTTM0n0)
Remark
n = 0 to 3
Figure 8-38. Block Diagram of Pulse Width Measurement (Clear & Start Mode Entered by TI0n0 Pin Valid Edge Input)
Operable bits TMC0n3, TMC0n2
Clear 16-bit counter (TM0n)
Count clock
Capture signal
Capture register (CR0n1)
Interrupt signal (INTTM0n1)
Selector
TI0n0 pin TI0n1 pin
Edge detection Edge detection
Capture signal
Capture register (CR0n0)
Interrupt signal (INTTM0n0)
Remark
n = 0 to 3
342
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
A pulse width can be measured in the following three ways. * Measuring the pulse width by using two input signals of the TI0n0 and TI0n1 pins (free-running timer mode) * Measuring the pulse width by using one input signal of the TI0n0 pin (free-running timer mode) * Measuring the pulse width by using one input signal of the TI0n0 pin (clear & start mode entered by the TI0n0 pin valid edge input) (1) Measuring the pulse width by using two input signals of the TI0n0 and TI0n1 pins (free-running timer mode) Set the free-running timer mode (the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits = 01). When the valid edge of the TI0n0 pin is detected, the count value of the TM0n register is captured to the CR0n1 register. When the valid edge of the TI0n1 pin is detected, the count value of the TM0n register is captured to the CR0n0 register. Specify detection of both the edges of the TI0n0 and TI0n1 pins. By this measurement method, the previous count value is subtracted from the count value captured by the edge of each input signal. Therefore, save the previously captured value to a separate register in advance. If an overflow occurs, the value becomes negative if the previously captured value is simply subtracted from the current captured value and, therefore, a borrow occurs (the PSW.CY bit is set to 1). If this happens, ignore CY and take the calculated value as the pulse width. In addition, clear the TMC0n.OVF0n bit to 0. Figure 8-39. Timing Example of Pulse Width Measurement (1) * TMC0n = 04H, PRM0n = F0H, CRC0n = 05H
FFFFH TM0n register A 0000H Operable bits (TMC0n3, TMC0n2) Capture trigger input (TI0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) Capture trigger input (TI0n1) Capture register (CR0n0) Capture interrupt (INTTM0n0) Overflow flag (OVF0n) 0 write clear 0 write clear 0 write clear 0 write clear M B N C S D P E Q
00
01
0000H
M
N
S
P
Q
0000H
A
B
C
D
E
Remark
n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
343
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(2) Measuring the pulse width by using one input signal of the TI0n0 pin (free-running timer mode) Set the free-running timer mode (the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits = 01). The count value of the TM0n register is captured to the CR0n0 register in the phase reverse to the valid edge detected on the TI0n0 pin. When the valid edge of the TI0n0 pin is detected, the count value of the TM0n register is captured to the CR0n1 register. By this measurement method, values are stored in separate capture registers when a width from one edge to another is measured. Therefore, the capture values do not have to be saved. By subtracting the value of one capture register from that of another, a high-level width, low-level width, and cycle are calculated. If an overflow occurs, the value becomes negative if one captured value is simply subtracted from another and, therefore, a borrow occurs (the PSW.CY bit is set to 1). If this happens, ignore CY and take the calculated value as the pulse width. In addition, clear the TMC0n.OVF0n bit to 0. Figure 8-40. Timing Example of Pulse Width Measurement (2) * TMC0n = 04H, PRM0n = 10H, CRC0n = 07H
FFFFH TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Capture trigger input (TI0n0) Capture register (CR0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) Overflow flag (OVF0n) 0 write clear Capture trigger input (TI0n1) Capture interrupt (INTTM0n0) 0 write clear 0 write clear 0 write clear M A B N C S D P E Q
00
01
0000H 0000H
A M
B N
C S
D P
E Q
L L
Remark
n = 0 to 3
344
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(3) Measuring the pulse width by using one input signal of the TI0n0 pin (clear & start mode entered by the TI0n0 pin valid edge input) Set the clear & start mode entered by the TI0n0 pin valid edge (the TMC0n.TMC0n3 and TMC0n.TMC0n2 bits = 10). The count value of the TM0n register is captured to the CR0n0 register in the phase reverse to the valid edge of the TI0n0 pin, and the count value of the TM0n register is captured to the CR0n1 register and the TM0n register is cleared (0000H) when the valid edge of the TI0n0 pin is detected. Therefore, a cycle is stored in the CR0n1 register if the TM0n register does not overflow. If an overflow occurs, take the value that results from adding 10000H to the value stored in the CR0n1 register as a cycle. Clear the TMC0n.OVF0n bit to 0. Figure 8-41. Timing Example of Pulse Width Measurement (3) * TMC0n = 08H, PRM0n = 10H, CRC0n = 07H
FFFFH TM0n register 0000H Operable bits 00 (TMC0n3, TMC0n2) Capture & count clear input (TI0n0) <2> Capture register (CR0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) Overflow flag (OVF0n) 0 write clear Capture trigger input (TI0n1) L Capture interrupt (INTTM0n0) L <3> <2> <3> <2> <3> <2> <3> M A N P C S D Q
B
10
<1> <1> <1> <1>
00
0000H 0000H M
A N
B S
C P
D Q
<1> <2> <3>
Pulse cycle =
(10000H x Number of times OVF0n bit is set to 1 + Captured value of the CR0n1 register) x Count clock cycle
High-level pulse width = (10000H x Number of times OVF0n bit is set to 1 + Captured value of the CR0n0 register) x Count clock cycle Low-level pulse width = (Pulse cycle - High-level pulse width) n = 0 to 3
Remark
Preliminary User's Manual U17703EJ1V0UD
345
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-42. Example of Register Settings for Pulse Width Measurement (1/2) (a) 16-bit timer mode control register 0n (TMC0n)
TMC0n3 TMC0n2 TMC0n1 0 0 0 0 0/1 0/1 0 OVF0n 0
01: Free running timer mode 10: Clear and start mode entered by valid edge of TI0n0 pin.
(b) Capture/compare control register 0n (CRC0n)
CRC0n2 CRC0n1 CRC0n0 0 0 0 0 0 1 0/1 1
1: CR0n0 used as capture register 0: TI0n1 pin is used as capture trigger of CR0n0. 1: Reverse phase of TI0n0 pin is used as capture trigger of CR0n0. 1: CR0n1 used as capture register
(c) 16-bit timer output control register 0n (TOC0n)
OSPT0n OSPE0n TOC0n4 0 0 0 0 LVS0n 0 LVR0n 0 TOC0n1 0 TOE0n 0
(d) Prescaler mode register 0n (PRM0n), selector operation control register 1 (SELCNT1)
ESn11 PRM0n 0/1 ESn10 0/1 ESn01 0/1 ESn00 0/1 0 0 PRM0n1 PRM0n0 0/1 0/1 SELCNT1 ISEL1n 0/1
Selects count clock (setting valid edge of TI0n0 is prohibited) 00: 01: 10: 11: 00: 01: 10: 11: Falling edge detection Rising edge detection Setting prohibited Both edges detection (setting when CRC0n1 = 1 is prohibited) Falling edge detection Rising edge detection Setting prohibited Both edges detection
Remark
n = 0 to 3
346
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-42. Example of Register Settings for Pulse Width Measurement (2/2) (e) 16-bit timer counter 0n (TM0n) By reading the TM0n register, the count value can be read. (f) 16-bit capture/compare register 0n0 (CR0n0) This register is used as a capture register. Either the TI0n0 or TI0n1 pin is selected as a capture trigger. When a specified edge of the capture trigger is detected, the count value of the TM0n register is stored in the CR0n0 register. (g) 16-bit capture/compare register 0n1 (CR0n1) This register is used as a capture register. The signal input to the TI0n0 pin is used as a capture trigger. When the capture trigger is detected, the count value of the TM0n register is stored in the CR0n1 register. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
347
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-43. Example of Software Processing for Pulse Width Measurement (1/2) (a) Example of free-running timer mode
FFFFH D10 TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Capture trigger input (TI0n0) Capture register (CR0n1) Capture interrupt (INTTM0n1) Capture trigger input (TI0n1) Capture register (CR0n0) Capture interrupt (INTTM0n0) D00 D01 D11 D02 D12 D03 D13 D04
00
01
00
0000H
D10
D11
D12
D13
0000H
D00
D01
D02
D03
D04
<1> <2> <2>
<2>
<2>
<2> <2>
<2>
<2>
<2><3>
(b) Example of clear & start mode entered by TI0n0 pin valid edge
FFFFH TM0n register 0000H Operable bits (TMC0n3, TMC0n2) Capture & count clear input (TI0n0) Capture register 0000H (CR0n0) Capture interrupt (INTTM0n0) L D0 D2 D4 D6 D8 D1 D3 D5 D7 D0 D1 D4 D2 D3 D6 D8 D7
D5
00
10
00
Capture register (CR0n1) 0000H Capture interrupt (INTTM0n1)
<1>
<2> <2>
<2>
<2>
<2>
<2> <2>
<2> <2> <3>
Remark
n = 0 to 3
348
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
Figure 8-43. Example of Software Processing for Pulse Width Measurement (2/2)
<1> Count operation start flow
START
Register initial setting PRM0n register, SELCNT1 register, CRC0n register, port setting
Initial setting of these registers is performed before setting the TMC0n3 and TMC0n2 bits.
TMC0n3, TMC0n2 bits = 01 or 10
Starts count operation
<2> Capture trigger input flow
Edge detection of TI0n0, TI0n1 pins
Stores count value to CR0n0, CR0n1 registers. Generates capture interruptNote. Calculated pulse width from capture value
<3> Count operation stop flow
TMC0n3, TMC0n2 bits = 00
The counter is initialized and counting is stopped by clearing the TMC0n3 and TMC0n2 bits to 00.
STOP
Note The capture interrupt signal (INTTM0n0) is not generated when the reverse-phase edge of the TI0n0 pin input is selected to the valid edge of the CR0n0 register. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
349
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.5 Special Use of TM0n
8.5.1 Rewriting CR0n1 register during TM0n operation In principle, rewriting the CR0n0 and CR0n1 registers of the V850ES/KG2 when they are used as compare registers is prohibited while the TM0n register is operating (TMC0n.TMC0n3 and TMC0n.TMC0n2 bits = other than 00). However, the value of the CR0n1 register can be changed, even while the TM0n register is operating, using the following procedure if the CR0n1 register is used for PPG output and the duty factor is changed (change the value of the CR0n1 register immediately after its value matches the value of the TM0n register. If the value of the CR0n1 register is changed immediately before its value matches the TM0n register, an unexpected operation may be performed). Procedure for changing value of the CR0n1 register <1> Disable interrupt INTTM0n1 (TM0ICn0.TM0MKn1 bit = 1). <2> Disable reversal of the timer output when the value of the TM0n register matches that of the CR0n1 register (TOC0n.TOC0n4 bit = 0). <3> Change the value of the CR0n1 register. <4> Wait for one cycle of the count clock of the TM0n register. <5> Enable reversal of the timer output when the value of the TM0n register matches that of the CR0n1 register (TOC0n.TOC0n4 bit = 1). <6> Clear the interrupt flag of INTTM0n1 to 0 (TM0ICn0.TM0IFn1 bit = 0). <7> Enable interrupt INTTM0n1 (TM0ICn0.TM0MKn1 bit = 0). Remark For the TM0ICn0 register, see CHAPTER 21 FUNCTION. 8.5.2 Setting LVS0n and LVR0n bits (1) Usage of the LVS0n and LVR0n bits The TOC0n.LVS0n and TOC0n.LVR0n bits are used to set the default value of the TO0n pin output and to invert the timer output without enabling the timer operation (TMC0n.TMC0n3 and TMC0n.TMC0n2 bits = 00). Clear the LVS0n and LVR0n bits to 00 (default value: low-level output) when software control is unnecessary.
LVS0n Bit 0 0 1 1 LVR0n Bit 0 1 0 1 Timer Output Status Not changed (low-level output) Cleared (low-level output) Set (high-level output) Setting prohibited
INTERRUPT/EXCEPTION PROCESSING
Remark
n = 0 to 3
350
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(2) Setting the LVS0n and LVR0n bits Set the LVS0n and LVR0n bits using the following procedure. Figure 8-44. Example of Flow for Setting LVS0n and LVR0n Bits
Setting TOC0n.OSPE0n, TOC0n4, TOC0n1 bits <1> Setting of timer output operation Setting TOC0n.TOE0n bit Setting TOC0n.LVS0n, LVR0n bits Setting TMC0n.TMC0n3, TMC0n2 bits <2> Setting of timer output F/F <3> Enabling timer operation
Caution Be sure to set the LVS0n and LVR0n bits following steps <1>, <2>, and <3> above. Step <2> can be performed after <1> and before <3>. Remark n = 0 to 3
Figure 8-45. Timing Example of LVR0n and LVS0n Bits
TOC0n.LVS0n bit TOC0n.LVR0n bit Operable bits (TMC0n3, TMC0n2) TO0n pin output INTTM0n0 signal <1> <2> <1> <3> <4> <4> <4> 00 01, 10, or 11
<1> The TO0n pin output goes high when the LVS0n and LVR0n bits = 10. <2> The TO0n pin output goes low when the LVS0n and LVR0n bits = 01 (the pin output remains unchanged from the high level even if the LVS0n and LVR0n bits are cleared to 00). <3> The timer starts operating when the TMC0n3 and TMC0n2 bits are set to 01, 10, or 11. Because the LVS0n and LVR0n bits were set to 10 before the operation was started, the TO0n pin output starts from the high level. After the timer starts operating, setting the LVS0n and LVR0n bits is prohibited until the TMC0n3 and TMC0n2 bits = 00 (disabling the timer operation). <4> The output level of the TO0n pin is inverted each time an interrupt signal (INTTM0n0) is generated. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
351
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
8.6 Cautions
(1) Alternate functions of TI0n0/TO0n pins
Channel TM00 Pin TI000 TI001 TO00 Alternate function P33/TO00/TIP00/TOP00 P34/TO00/TIP01/TOP01 P33/TI000/TIP00/TOP00 P34/TI001/TIP01/TOP01 TM01 TI010 TI011 TO01 P35/TO01 P50/KR0/RTP00 P32/ASCK0/ADTRG P35/TI010 TM02 TI020 TI021 TO02 P92/A2/TO02 P93/A3 P30/TXD0 P92/TI020/A2 TM03 TI030 TI031 TO03 P94/A4/TO03 P95/A5 P31/RXD0/INTP7 P94/TI030/A4 Shares the pin with TO03. - Assigned to two pins, P31 and P94. Shares the pin with TO02. - Assigned to two pins, P30 and P92. Shares the pin with TO01. - Assigned to two pins, P32 and P35. Remarks Shares the pin with TO00. Shares the pin with TO00. Assigned to two pins, P33 and P34.
(a) For TM00 * To perform the one-shot pulse output with detecting the valid edge of the TI000 pin as a trigger, use the output of the TO00 pin that functions alternately as P34. When using the output of the TO00 pin that functions alternately as P33, the TI000 pin that functions alternately as P33 cannot be used. When using only a software trigger (setting (1) TOC00.OSPT00 bit) as the start trigger for the one-shot pulse output, either of the P33 and P34 pins can be used as the TO00 pin output. * To perform the TO00 pin output inversion operation by detecting the valid edge of the TI000 pin input, use the output of the TO00 pin that functions alternately as P34. When using the output of the TO00 pin that functions alternately as P33, the TI000 pin that functions alternately as P33 cannot be used. Therefore, the TO00 pin output inversion operation by detecting the valid edge of the TI000 pin input cannot be performed. When using the TO00 pin that functions alternately as P33, clear the TMC00.TMC001 bit to 0.
352
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(b) For TM01 * To perform the one-shot pulse output with detecting the valid edge of the TI010 pin as a trigger, use the output of the TO01 pin that functions alternately as P32. When using the output of the TO01 pin that functions alternately as P35, the TI010 pin that functions alternately as P35 cannot be used. When using only a software trigger (setting (1) TOC01.OSPT01 bit ) as the start trigger for the one-shot pulse output, either of the P32 and P35 pins can be used as the TO01 pin output. * To perform the TO01 pin output inversion operation by detecting the valid edge of the TI010 pin input, use the output of the TO01 pin that functions alternately as P32. When using the output of the TO01 pin that functions alternately as P35, the TI010 pin that functions alternately as P35 cannot be used. Therefore, the TO01 pin output inversion operation by detecting the valid edge of the TI010 pin input cannot be performed. When using the TO01 pin that functions alternately as P35, clear the TMC01.TMC011 bit to 0. (c) For TM02 * To perform the one-shot pulse output, use the output of the TO02 pin that functions alternately as P30. The output of the TO02 pin that functions alternately as P92 cannot be used for one-shot pulse output not only when using the detection of the TI020 pin valid edge as a trigger but also when using only the software trigger (setting (1) TOC02.OSPT02 bit) as a start trigger. * To perform the TO02 pin output inversion operation by detecting the valid edge of the TI020 pin input, use the output of the TO02 pin that functions alternately as P30. When using the output of the TO02 pin that functions alternately as P92, the TI020 pin that functions alternately as P92 cannot be used. Therefore, the TO02 pin output inversion operation by detecting the valid edge of the TI020 pin input cannot be performed. When using the TO02 pin that functions alternately as P92, clear the TMC02.TMC021 bit to 0. (d) For TM03 * To perform the one-shot pulse output, use the output of the TO03 pin that functions alternately as P31. The output of the TO03 pin that functions alternately as P94 cannot be used for one-shot pulse output not only when using the detection of the TI030 pin valid edge as a trigger but also when using only the software trigger (setting (1) TOC03.OSPT03 bit) as a start trigger. * To perform the TO03 pin output inversion operation by detecting the valid edge of the TI030 pin input, use the output of the TO03 pin that functions alternately as P31. When using the output of the TO03 pin that functions alternately as P94, the TI030 pin that functions alternately as P94 cannot be used. Therefore, the TO03 pin output inversion operation by detecting the valid edge of the TI030 pin input cannot be performed. When using the TO03 pin that functions alternately as P94, clear the TMC03.TMC031 bit to 0.
Preliminary User's Manual U17703EJ1V0UD
353
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(2) Error on starting timer An error of up to 1 clock occurs before the match signal is generated after the timer has been started. This is because the count of the TM0n register is started asynchronously to the count pulse. Figure 8-46. Count Start Timing of TM0n Register
Count pulse TM0n count value 0000H Timer start 0001H 0002H 0003H 0004H
Remark
n = 0 to 3
(3) Setting CR0n0 and CR0n1 registers (in the mode in which clear & start occurs upon match between TM0n register and CR0n0 register) Set the CR0n0 and CR0n1 registers to a value other than 0000H (when using these registers as external event counters, one-pulse count operation is not possible). Remark n = 0 to 3
354
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(4) Data hold timing of capture register (a) If the valid edge of the TI0n1/TI0n0 pin is input while the CR0n0/CR0n1 register is read, the CR0n0/CR0n1 register performs capture operation, but the read value at this time is not guaranteed. However, the interrupt request signal (INTTM0n0/INTTM0n1) is generated as a result of detection of the valid edge. Figure 8-47. Data Hold Timing of Capture Register
Count pulse TM0n count value Edge input INTTM0n1 Capture read signal Value captured to CR0n1 X Capture operation N+1 Capture operation is performed but read value is not guaranteed. N N+1 N+2 M M+1 M+2
Remark
n = 0 to 3
(b) The values of the CR0n0 and CR0n1 registers are not guaranteed after 16-bit timer/event counter 0n has stopped. (5) Setting valid edge Set the valid edge of the TI0n0 pin while the timer operation is stopped (TMC0n.TMC0n3 and TMC0n.TMC0n2 bits = 00). Set the valid edge by using the PRM0n.ESn00 and PRM0n.ESn01 bits. (6) Re-triggering one-shot pulse Make sure that the trigger is not generated while an active level is being output in the one-shot pulse output mode. Be sure to input the next trigger after the current active level is output. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
355
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(7) Operation of OVF0n flag (a) Setting of OVF0n flag The TMC0n.OVF0n flag is set to 1 in the following case in addition to when the TM0n register overflows. Select the mode in which clear & start occurs upon match between the TM0n register and the CR0n0 register. Set the CR0n0 register to FFFFH When the TM0n register is cleared from FFFFH to 0000H upon match with the CR0n0 register Figure 8-48. Operation Timing of OVF0n Flag
Count pulse CR0n0 TM0n OVF0n INTTM0n0 FFFFH FFFEH FFFFH 0000H 0001H
Remark
n = 0 to 3
(b) Clearing of OVF0n flag After the TM0n register overflows, clearing OVF0n flag is invalid and set (1) again even if the OVF0n flag is cleared (0) before the next count clock is counted (before TM0n register becomes 0001H). Remark n = 0 to 3
356
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(8) One-shot pulse output One-shot pulse output operates normally in either the free-running timer mode or the mode in which clear & start occurs on the valid edge of the TI0n0 pin. In the mode in which clear & start occurs upon match between the TM0n register and the CR0n0 register, one-shot pulse output is not possible. Remark n = 0 to 3
(9) Capture operation (a) If valid edge of TI0n0 pin is specified for count clock If the valid edge of the TI0n0 pin is specified for the count clock, the capture register that specified the TI0n0 pin as the trigger does not operate normally. (b) To ensure that signals input from TI0n1 and TI0n0 pins are correctly captured To accurately capture the count value, the pulse input to the TI0n0 and TI0n1 pins as a capture trigger must be wider than two count clocks selected by the PRM0n and SELCNT1 registers. (c) Interrupt signal generation Although a capture operation is performed at the falling edge of the count clock, an interrupt request signal (INTTM0n0, INTTM0n1) is generated at the rising edge of the next count clock. (d) Note when CRC0n.CRC0n1 bit is set to 1 When the count value of the TM0n register is captured to the CR0n0 register in the phase reverse to the signal input to the TI0n0 pin, the interrupt signal (INTTM0n0) is not generated after the count value is captured. If the valid edge is detected on the TI0n1 pin during this operation, the capture operation is not performed but the INTTM0n0 signal is generated as an external interrupt signal. Mask the INTTM0n0 signal when the external interrupt is not used. Remark n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
357
CHAPTER 8 16-BIT TIMER/EVENT COUNTER 0
(10)
Edge detection
(a) Specifying valid edge after reset If the operation of the 16-bit timer/event counter 0n is enabled after reset and while the TI0n0 or TI0n1 pin is at high level and when the rising edge or both the edges are specified as the valid edge of the TI0n0 or TI0n1 pin, then the high level of the TI0n0 or TI0n1 pin is detected as the rising edge. Note this when the TI0n0 or TI0n1 pin is pulled up. However, the rising edge is not detected when the operation is once stopped and then enabled again. (b) Sampling clock for noise elimination The sampling clock for noise elimination differs depending on whether the valid edge of TI0n0 is used for the count clock or as a capture trigger. In the former case, sampling is performed using fXX/4, and in the latter case, sampling is performed using the count clock selected by the PRM0n and SELCNT1 registers. When the signal input to the TI0n0 pin is sampled and the valid level is detected two times in a row, the valid edge is detected. Therefore, noise having a short pulse width can be eliminated. Remarks 1. fXX: Main clock frequency 2. n = 0 to 3
358
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
In the V850ES/KG2, two channels of 8-bit timer/event counter 5 are provided.
9.1 Functions
8-bit timer/event counter 5n has the following two modes (n = 0, 1). * Mode using 8-bit timer/event counter alone (individual mode) * Mode using cascade connection (16-bit resolution: cascade connection mode) These two modes are described below. (1) Mode using 8-bit timer/event counter alone (individual mode) 8-bit timer/event counter 5n operates as an 8-bit timer/event counter. The following functions can be used. * Interval timer * External event counter * Square-wave output * PWM output (2) Mode using cascade connection (16-bit resolution: cascade connection mode) 8-bit timer/event counter 5n operates as a 16-bit timer/event counter by connecting the TM5n register in cascade. The following functions can be used. * Interval timer with 16-bit resolution * External event counter with 16-bit resolution * Square-wave output with 16-bit resolution The block diagram of 8-bit timer/event counter 5n is shown next.
Preliminary User's Manual U17703EJ1V0UD
359
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
Figure 9-1. Block Diagram of 8-Bit Timer/Event Counter 5n
Internal bus
Mask circuit
8-bit timer compare register 5n (CR5n) Match
Selector
Selector
INTTM5n
TI5n
Count clockNote
8-bit timer counter 5n (TM5n)
OVF
S INV Q R
Selector
TO5n
Clear
3
Selector
S R
Q
Invert level
TCL5n2 TCL5n1 TCL5n0
Timer clock selection register 5n (TCL5n)
TCE5n TMC5n6 TMC5n4 LVS5n LVR5n TMC5n1 TOE5n
8-bit timer mode control register 5n (TMC5n) Internal bus
Note The count clock is set by the TCL5n register. Remark n = 0, 1
9.2 Configuration
8-bit timer/event counter 5n includes the following hardware. Table 9-1. Configuration of 8-Bit Timer/Event Counter 5n
Item Timer registers 8-bit timer counter 5n (TM5n) 16-bit timer counter 5 (TM5): Only when using cascade connection Registers 8-bit timer compare register 5n (CR5n) 16-bit timer compare register 5 (CR5): Only when using cascade connection Timer output Control registers
Note
Configuration
1 (TO5n pin) Timer clock selection register 5n (TCL5n) 8-bit timer mode control register 5n (TMC5n) 16-bit timer mode control register 5 (TMC5): Only when using cascade connection
Note When using the functions of the TI5n and TO5n pins, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. Remark n = 0, 1
360
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
(1) 8-bit timer counter 5n (TM5n) The TM5n register is an 8-bit read-only register that counts the count pulses. The counter is incremented in synchronization with the rising edge of the count clock. Through cascade connection, the TM5n registers can be used as a 16-bit timer. When using the TM50 register and the TM51 register in cascade as a 16-bit timer, these registers can be read only in 16-bit units. Therefore, read these registers twice and compare the values, taking into consideration that the reading occurs during a count change.
After reset: 00H
7
R 6
Address: TM50 FFFFF5C0H, TM51 FFFFF5C1H
5
4
3
2
1
0
TM5n (n = 0, 1)
The count value is reset to 00H in the following cases. <1> Reset <2> When the TMC5n.TCE5n bit is cleared (0) <3> The TM5n register and CR5n register match in the mode in which clear & start occurs on a match between the TM5n register and the CR5n register Caution When connected in cascade, these registers become 0000H even when the TCE50 bit in the lowest timer (TM50) is cleared. Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
361
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
(2) 8-bit timer compare register 5n (CR5n) The CR5n register can be read and written in 8-bit units. In a mode other than the PWM mode, the value set to the CR5n register is always compared to the count value of the TM5n register, and if the two values match, an interrupt request signal (INTTM5n) is generated. In the PWM mode, TM5n register overflow causes the TO5n pin output to change to the active level, and when the values of the TM5n register and the CR5n register match, the TO5n pin output changes to the inactive level. The value of the CR5n register can be set in the range of 00H to FFH. When using the TM50 register and TM51 register in cascade as a 16-bit timer, the CR50 register and CR51 register operate as 16-bit timer compare register 5 (CR5). The counter value and register value are compared in 16-bit lengths, and if they match, an interrupt request signal (INTTM50) is generated.
After reset: 00H
7
R/W 6
Address: CR50 FFFFF5C2H, CR51 FFFFF5C3H
5
4
3
2
1
0
CR5n (n = 0, 1)
Cautions 1. In the mode in which clear & start occurs upon a match of the TM5n register and CR5n register (TMC5n.TMC5n6 bit = 0), do not write a different value to the CR5n register during the count operation. 2. In the PWM mode, set the CR5n register rewrite interval to three or more count clocks (clock selected with the TCL5n register). 3. Before changing the value of the CR5n register when using a cascade connection, be sure to stop the timer operation. Remark n = 0, 1
362
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
9.3 Registers
The following two registers are used to control 8-bit timer/event counter 5n. * Timer clock selection register 5n (TCL5n) * 8-bit timer mode control register 5n (TMC5n) Remark To use the functions of the TI5n and TO5n pins, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. (1) Timer clock selection register 5n (TCL5n) The TCL5n register sets the count clock of 8-bit timer/event counter 5n and the valid edge of the TI5n pin input. The TCL5n register can be read or written in 8-bit units. Reset sets this register to 00H.
After reset: 00H 7 TCL5n (n = 0, 1) 0
R/W 6 0
Address: TCL50 FFFFF5C4H, TCL51 FFFFF5C5H 5 0 4 0 3 0 2 TCL5n2 1 TCL5n1 0 TCL5n0
TCL5n2 TCL5n1 TCL5n0
Clock
Count clock selectionNote
fXX 20 MHz 10 MHz - -
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
Falling edge of TI5n Rising edge of TI5n fXX fXX/2 fXX/4 fXX/64 fXX/256 INTTM010
- -
Setting prohibited 100 ns
100 ns 200 ns 3.2 s 12.8 s -
200 ns 0.4 s 6.4 s 25.6 s -
Note When the internal clock is selected, set so as to satisfy the following conditions. REGC = VDD = 4.0 to 5.5 V: Count clock 10 MHz REGC = 10 F, VDD = 4.0 to 5.5 V: Count clock 5 MHz REGC = VDD = 2.7 to 4.0 V: Count clock 5 MHz Caution Before overwriting the TCL5n register with different data, stop the timer operation. Remark When the TM5n register is connected in cascade, the TCL51 register settings are invalid.
Preliminary User's Manual U17703EJ1V0UD
363
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
(2) 8-bit timer mode control register 5n (TMC5n) The TMC5n register performs the following six settings. * Controls counting by the TM5n register * Selects the operation mode of the TM5n register * Selects the individual mode or cascade connection mode * Sets the status of the timer output flip-flop * Controls the timer output flip-flop or selects the active level in the PWM (free-running timer) mode * Controls timer output The TMC5n register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H.
364
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
After reset: 00H <7> TMC5n (n = 0, 1) TCE5n 0 1 TCE5n
R/W 6 TMC5n6
Address: TMC50 FFFFF5C6H, TMC51 FFFFF5C7H 5 0 4 TMC514
Note
<3> LVS5n
<2> LVR5n
1 TMC5n1
<0> TOE5n
Control of count operation of 8-bit timer/event counter 5n Counting is disabled after the counter is cleared to 0 (counter disabled) Start count operation
TMC5n6 0 1
Selection of operation mode of 8-bit timer/event counter 5n Mode in which clear & start occurs on match between TM5n register and CR5n register PWM (free-running timer) mode
TMC514 Selection of individual mode or cascade connection mode for 8-bit timer/event counter 51 0 1 Individual mode Cascade connection mode (connected with 8-bit timer/event counter 50)
LVS5n 0 0 1 1
LVR5n 0 1 0 1 Unchanged
Setting of status of timer output F/F
Reset timer output F/F to 0 Set timer output F/F to 1 Setting prohibited
TMC5n1 Other than PWM (free-running timer) mode (TMC5n6 bit = 0) Controls timer F/F 0 1 Disable inversion operation Enable inversion operation
PWM (free-running timer) mode (TMC5n6 bit = 1) Selects active level High active Low active
TOE5n 0 1
Timer output control Disable output (TO5n pin is low level) Enable output
Note Bit 4 of the TMC50 register is fixed to 0. Cautions 1. Because the TO51 and TI51 pins are alternate functions of the same pin, only one can be used at one time. 2. The LVS5n and LVR5n bit settings are valid in modes other than the PWM mode. 3. Do not set <1> to <4> below at the same time. Set as follows. <1> Set the TMC5n1, TMC5n6, and TMC514Note bits: <2> Set the TOE5n bit for timer output enable: <3> Set the LVS5n and LVR5n bits (Caution 2): <4> Set the TCE5n bit Remarks 1. In the PWM mode, the PWM output is set to the inactive level by the TCE5n bit = 0. 2. When the LVS5n and LVR5n bits are read, 0 is read. 3. The values of the TMC5n6, LVS5n, LVR5n, TMC5n1, and TOE5n bits are reflected to the TO5n output regardless of the TCE5n bit value.
Preliminary User's Manual U17703EJ1V0UD
Setting of operation mode Timer output enable Setting of timer output F/F
365
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
9.4 Operation
9.4.1 Operation as interval timer 8-bit timer/event counter 5n operates as an interval timer that repeatedly generates interrupts at the interval of the count value preset in the CR5n register. If the count value in the TM5n register matches the value set in the CR5n register, the value of the TM5n register is cleared to 00H and counting is continued, and at the same time, an interrupt request signal (INTTM5n) is generated. Setting method <1> Set each register. * TCL5n register: * CR5n register: Selects the count clock (t). Compare value (N) between the TM5n register and CR5n register (TMC5n register = 0000xx00B, x: don't care). <2> When the TMC5n.TCE5n bit is set to 1, the count operation starts. <3> When the values of the TM5n register and CR5n register match, the INTTM5n signal is generated (TM5n register is cleared to 00H). <4> Then, the INTTM5n signal is repeatedly generated at the same interval. To stop counting, set the TCE5n bit = 0. Interval time = (N + 1) x t: N = 00H to FFH Caution During interval timer operation, do not rewrite the value of the CR5n register. Remark n = 0, 1 Figure 9-2. Timing of Interval Timer Operation (1/2)
* TMC5n register: Stops count operation and selects the mode in which clear & start occurs on a match
Basic operation
t Count clock TM5n count value 00H 01H N 00H Clear N 01H N 00H Clear N N 01H N
Count start CR5n TCE5n INTTM5n N
Interrupt acknowledgment Interrupt acknowledgment Interval time Interval time
Remark
n = 0, 1
366
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
Figure 9-2. Timing of Interval Timer Operation (2/2)
When CR5n register = 00H
t Count clock TM5n count value 00H CR5n TCE5n INTTM5n Interval time 00H 00H 00H 00H
Remark
n = 0, 1
When CR5n register = FFH
t Count clock TM5n count value 00H CR5n TCE5n INTTM5n Interrupt acknowledgment Interval time Interrupt acknowledgment FFH 01H FEH FFH FFH 00H FEH FFH FFH 00H
Remark
n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
367
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
9.4.2 Operation as external event counter The external event counter counts the number of clock pulses input to the TI5n pin from an external source by using the TM5n register. Each time the valid edge specified by the TCL5n register is input to the TI5n pin, the TM5n register is incremented. Either the rising edge or the falling edge can be specified as the valid edge. When the count value of the TM5n register matches the value of the CR5n register, the TM5n register is cleared to 00H and an interrupt request signal (INTTM5n) is generated. Setting method <1> Set each register. * TCL5n register: Selects the TI5n pin input edge. Falling edge of TI5n pin TLC5n register = 00H Rising edge of TI5n pin TCL5n register = 01H * CR5n register: Compare value (N) between the TM5n register and CR5n register, disables timer output F/F inversion operation, and disables timer output. (TMC5n register = 0000xx00B, x: don't care) * For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. <2> When the TMC5n.TCE5n bit is set to 1, the counter counts the number of pulses input from the TI5n pin. <3> When the values of the TM5n register and CR5n register match, the INTTM5n signal is generated (TM5n register is cleared to 00H). <4> Then, the INTTM5n signal is generated each time the values of the TM5n register and CR5n register match. INTTM5n signal is generated when the valid edge of TI5n pin is input N + 1 times: N = 00H to FFH * TMC5n register: Stops count operation, selects the mode in which clear & start occurs on a match
Caution During external event counter operation, do not rewrite the value of the CR5n register. Remark n = 0, 1
Figure 9-3. Timing of External Event Counter Operation (with Rising Edge Specified)
TI5n TM5n count value 00H 01H 02H 03H 04H 05H N-1 N 00H 01H 02H 03H
Count start CR5n N
TCE5n INTTM5n
Remark
n = 0, 1
368
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
9.4.3 Square-wave output operation A square wave with any frequency can be output at an interval determined by the value preset in the CR5n register. By setting the TMC5n.TOE5n bit to 1, the output status of the TO5n pin is inverted at an interval determined by the count value preset in the CR5n register. In this way, a square wave of any frequency can be output (duty = 50%) (n = 0, 1). Setting method <1> Set each register. * TCL5n register: * CR5n register: Selects the count clock (t). Compare value (N) between the TM5n register and CR5n register, sets initial value of timer output, enables timer output F/F inversion operation, and enables timer output. (TMC5n register = 00001011B or 00000111B) * For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. <2> When the TMC5n.TCE5n bit is set to 1, counting starts. <3> When the values of the TM5n register and CR5n register match, the timer output F/F is inverted. Moreover, the INTTM5n signal is generated and the TM5n register is cleared to 00H. <4> Then, the timer output F/F is inverted during the same interval and a square wave is output from the TO5n pin.
* TMC5n register: Stops count operation, selects the mode in which clear & start occurs on a match
Frequency = 1/2t(N + 1): N = 00H to FFH
Caution Do not rewrite the value of the CR5n register during square-wave output.
Preliminary User's Manual U17703EJ1V0UD
369
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
Figure 9-4. Timing of Square-Wave Output Operation
t Count clock TM5n count value 00H 01H N 00H Clear N 01H N 00H Clear N N 01H N
Count start CR5n TCE5n INTTM5n N
Interrupt acknowledgment TO5nNote Interval time
Interrupt acknowledgment
Interval time
Note The initial value of the TO5n pin output can be set using the TMC5n.LVS5n and TMC5n.LVR5n bits. Remark n = 0, 1
370
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
9.4.4 8-bit PWM output operation By setting the TMC5n.TMC5n6 bit to 1, 8-bit timer/event counter 5n performs PWM output. Pulses with a duty factor determined by the value set in the CR5n register are output from the TO5n pin. Set the width of the active level of the PWM pulse in the CR5n register. The active level can be selected using the TMC5n.TMC5n1 bit. The count clock can be selected using the TCL5n register. PWM output can be enabled/disabled by the TMC5n.TOE5n bit. Caution The CR5n register rewrite interval must be three or more operation clocks (set by the TCL5n register). Use method <1> Set each register. * TCL5n register: * CR5n register: Selects the count clock (t). Compare value (N) unchanged, sets active level, and enables timer output. (TMC5n register = 01000001B or 01000011B) * For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. <2> When the TMC5n.TCE5n bit is set to 1, counting starts. PWM output operation <1> When counting starts, PWM output (output from the TO5n pin) outputs the inactive level until an overflow occurs. <2> When an overflow occurs, the active level set by setting method <1> is output. The active level is output until the value of the CR5n register and the count value of the TM5n register match. An interrupt request signal (INTTM5n) is generated. <3> When the value of the CR5n register and the count value of the TM5n register match, the inactive level is output and continues to be output until an overflow occurs again. <4> Then, steps <2> and <3> are repeated until counting is stopped. <5> When counting is stopped by clearing TCE5n bit to 0, PWM output becomes inactive. Cycle = 256t, active level width = Nt, duty = N/256: N = 00H to FFH
* TMC5n register: Stops count operation, selects PWM mode, and leave timer output F/F
Remarks 1. n = 0, 1 2. For the detailed timing, refer to Figure 9-5 Timing of PWM Output Operation and Figure 9-6 Timing of Operation Based on CR5n Register Transitions.
Preliminary User's Manual U17703EJ1V0UD
371
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
(a) Basic operation of PWM output Figure 9-5. Timing of PWM Output Operation
Basic operation (active level = H)
t Count clock TM5n count value CR5n TCE5n INTTM5n TO5n Active level Inactive level Active level
00H 01H N FFH 00H 01H 02H N N+1 FFH 00H 01H 02H M 00H
When CR5n register = 00H
t Count clock TM5n count value CR5n TCE5n INTTM5n TO5n Inactive level Inactive level
00H 01H 00H FFH 00H 01H 02H N N + 1N + 2 FFH 00H 01H 02H M 00H
When CR5n register = FFH
t Count clock TM5n count value CR5n TCE5n INTTM5n TO5n Inactive level Active level Inactive level Active level Inactive level
00H 01H FFH FFH 00H 01H 02H N N + 1N + 2 FFH 00H 01H 02H M 00H
Remark
n = 0, 1
372
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
(b) Operation based on CR5n register transitions Figure 9-6. Timing of Operation Based on CR5n Register Transitions
When the value of the CR5n register changes from N to M before the rising edge of the FFH clock The value of the CR5n register is transferred at the overflow that occurs immediately after.
t Count clock TM5n count value CR5n TCE5n INTTM5n TO5n <2> <1> CR5n transition (N M) H N N+1 N+2 N FFH 00H 01H 02H M M M+1 M+2 FFH 00H 01H 02H M M+1 M+2
When the value of the CR5n register changes from N to M after the rising edge of the FFH clock The value of the CR5n register is transferred at the second overflow.
t Count clock TM5n count value CR5n TCE5n INTTM5n TO5n <1> CR5n transition (N M) <2> H N N+1 N+2 N FFH 00H 01H 02H 03H N N N+1 N+2 FFH 00H 01H 02H M M M+1 M+2
Caution In the case of reload from the CR5n register between <1> and <2>, the value that is actually used differs (Read value: M; Actual value of CR5n register: N). Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
373
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
9.4.5 Operation as interval timer (16 bits) The 16-bit resolution timer/event counter mode is selected by setting the TMC51.TMC514 bit to 1. 8-bit timer/event counter 5n operates as an interval timer by repeatedly generating interrupts using the count value preset in 16-bit timer compare register 5 (CR5) as the interval. Setting method <1> Set each register. * TCL50 register: * CR50 register: * CR51 register: * TMC50, TMC51 register: Selects the count clock (t) (The TCL51 register does not need to be set in cascade connection) Compare value (N) ... Lower 8 bits (settable from 00H to FFH) Compare value (N) ... Higher 8 bits (settable from 00H to FFH) Selects the mode in which clear & start occurs on a match between TM5 register and CR5 register (x: don't care) TMC50 register = 0000xx00B TMC51 register = 0001xx00B <2> Set the TMC51.TCE51 bit to 1. Then set the TMC50.TCE50 bit to 1 to start the count operation. <3> When the values of the TM5 register and CR5 register connected in cascade match, the INTTM50 signal is generated (the TM5 register is cleared to 0000H). <4> The INTTM50 signal is then generated repeatedly at the same interval. Interval time = (N + 1) x t: N = 0000H to FFFFH
Cautions 1. To write using 8-bit access during cascade connection, set the TCE51 bit to 1 at operation start and then set the TCE50 bit to 1. When operation is stopped, clear the TCE50 bit to 0 and then clear the TCE51 bit to 0. 2. During cascade connection, TI50 input, TO50 output, and the INTTM50 signal are used. Do not use TI51 input, TO51 output, and the INTTM51 signal; mask them instead (for details, refer to CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION). Clear the LVS51, LVR51, TMC511, and TOE51 bits to 0. 3. Do not change the value of the CR5 register during timer operation.
374
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
Figure 9-7 shows a timing example of the cascade connection mode with 16-bit resolution. Figure 9-7. Cascade Connection Mode with 16-Bit Resolution
t Count clock TM50 count value 00H TM51 count value 00H CR50 CR51 TCE50 TCE51 INTTM50 Interval time Operation enabled, count start Interrupt occurrence, counter cleared Operation stopped N M 01H N N+1 FFH 00H 01H FFH 00H 02H FFH 00H 01H M-1 M N 00H 01H 00H A 00H B 00H
Preliminary User's Manual U17703EJ1V0UD
375
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
9.4.6 Operation as external event counter (16 bits) The 16-bit resolution timer/event counter mode is selected by setting the TMC51.TMC514 bit to 1. The external event counter counts the number of clock pulses input to the TI50 pin from an external source using 16-bit timer counter 5 (TM5). Setting method <1> Set each register. * TCL50 register: Selects the TI50 pin input edge. (The TCL51 register does not have to be set during cascade connection.) Falling edge of TI50 pin TCL50 register = 00H Rising edge of TI50 pin TCL50 register = 01H * CR50 register: * CR51 register: Compare value (N) ... Lower 8 bits (settable from 00H to FFH) Compare value (N) ... Higher 8 bits (settable from 00H to FFH) between the TM5 register and CR5 register, disables timer output F/F inversion, and disables timer output. (x: don't care) TMC50 register = 0000xx00B TMC51 register = 0001xx00B * For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. <2> Set the TMC51.TCE51 bit to 1. Then set the TMC50.TCE50 bit to 1 and count the number of pulses input from the TI50 pin. <3> When the values of the TM5 register and CR5 register connected in cascade match, the INTTM50 signal is generated (the TM5 register is cleared to 0000H). <4> The INTTM50 signal is then generated each time the values of the TM5 register and CR5 register match. INTTM50 signal is generated when the valid edge of TI50 pin is input N + 1 times: N = 0000H to FFFFH
* TMC50, TMC51 registers: Stops count operation, selects the clear & stop mode entered on a match
Cautions 1. During external event counter operation, do not rewrite the value of the CR5n register. 2. To write using 8-bit access during cascade connection, set the TCE51 bit to 1 and then set the TCE50 bit to 1. When operation is stopped, clear the TCE50 bit to 0 and then clear the TCE51 bit to 0 (n = 0, 1). 3. During cascade connection, TI50 input and the INTTM50 signal are used. Do not use TI51 input, TO51 output, and the INTTM51 signal; mask them instead (for details, refer to CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION). Clear the LVS51, LVR51, TMC511, and TOE51 bits to 0. 4. Do not change the value of the CR5 register during external event counter operation.
376
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
9.4.7 Square-wave output operation (16-bit resolution) The 16-bit resolution timer/event counter mode is selected by setting the TMC51.TMC514 bit to 1. 8-bit timer/event counter 5n outputs a square wave of any frequency using the interval preset in 16-bit timer compare register 5 (CR5). Setting method <1> Set each register. * TCL50 register: * CR50 register: * CR51 register: Selects the count clock (t) (The TCL51 register does not have to be set in cascade connection) Compare value (N) ... Lower 8 bits (settable from 00H to FFH) Compare value (N) ... Higher 8 bits (settable from 00H to FFH) match between the TM5 register and CR5 register.
LVS50 1 0 LVR50 0 1 Timer Output F/F Status Settings High-level output Low-level output
* TMC50, TCM51 registers: Stops count operation, selects the mode in which clear & start occurs on a
Enables timer output F/F inversion, and enables timer output. TMC50 register = 00001011B or 00000111B TMC51 register = 00010000B * For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. <2> Set the TMC51.TCE51 bit to 1. Then set the TMC50.TCE50 bit to 1 to start the count operation. <3> When the values of the TM5 register and the CR5 register connected in cascade match, the TO50 timer output F/F is inverted. Moreover, the INTTM50 signal is generated and the TM5 register is cleared to 0000H. <4> Then, the timer output F/F is inverted during the same interval and a square wave is output from the TO50 pin. Frequency = 1/2t(N + 1): N = 0000H to FFFFH
Caution Do not write a different value to the CR5 register during operation.
Preliminary User's Manual U17703EJ1V0UD
377
CHAPTER 9 8-BIT TIMER/EVENT COUNTER 5
9.4.8 Cautions (1) Error on starting timer An error of up to 1 clock occurs before the match signal is generated after the timer has been started. This is because the TM5n register is started asynchronously to the count pulse. Figure 9-8. Count Start Timing of TM5n Register
Count pulse TM5n count value 00H Timer start 01H 02H 03H 04H
Remark
n = 0, 1
378
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
In the V850ES/KG2, two channels of 8-bit timer H are provided.
10.1 Functions
8-bit timer Hn has the following functions (n = 0, 1). * Interval timer * Square ware output * PWM output * Carrier generator
10.2 Configuration
8-bit timer Hn includes the following hardware. Table 10-1. Configuration of 8-Bit Timer Hn
Item Timer registers Register Configuration 8-bit timer counter Hn: 1 each 8-bit timer H compare register n0 (CMPn0): 1 each 8-bit timer H compare register n1 (CMPn1): 1 each Timer outputs Control registers
Note
TOHn, output controller 8-bit timer H mode register n (TMHMDn) 8-bit timer H carrier control register n (TMCYCn)
Note To use the TOHn pin function, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
379
CHAPTER 10 8-BIT TIMER H
The block diagram is shown below. Figure 10-1. Block Diagram of 8-Bit Timer Hn
Internal bus
8-bit timer H mode register n (TMHMDn)
TMHEn CKSHn2 CKSHn1 CKSHn0 TMMDn1TMMDn0 TOLEVn TOENn
8-bit timer H compare register n1 (CMPn1)
8-bit timer H compare register n0 (CMPn0)
8-bit timer H carrier control register n (TMCYCn) RMCn NRZBn NRZn Reload/ interrupt control
INTTM5n
3
2
Decoder
Selector
TOHn
Match
fXX fXX/2 fXX/22 fXX/24 fXX/26 Note
Interrupt generator
F/F R
Output controller
Level inversion
Selector
Carrier generator mode signal PWM mode signal
8-bit timer counter Hn Clear
Timer H enable signal
1 0
INTTMHn
10 Note fXX/2 when n = 0, fXT when n = 1
Remark
n = 0, 1
(1) 8-bit timer H compare register n0 (CMPn0) This register can be read or written in 8-bit units. This register is used in all of the timer operation modes. This register constantly compares the value set to the CMPn0 register with the count value of 8-bit timer counter Hn and, when the two values match, generates an interrupt request signal (INTTMHn) and inverts the output level of the TOHn pin. Rewrite the value of the CMPn0 register while the timer is stopped (TMHMDn.TMHEn bit = 0). Reset sets this register to 00H.
After reset: 00H 7 CMPn0 (n = 0, 1)
R/W 6
Address: CMP00 FFFFF582H, CMP10 FFFFF592H 5 4 3 2 1 0
Caution Rewriting the CMPn0 register during timer count operation is prohibited.
380
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
(2) 8-bit timer H compare register n1 (CMPn1) This register can be read or written in 8-bit units. This register is used in the PWM output mode and carrier generator mode. In the PWM output mode, this register constantly compares the value set to the CMPn1 register with the count value of 8-bit timer counter Hn and, when the two values match, inverts the output level of the TOHn pin. No interrupt request signal is generated. In the carrier generator mode, the CMPn1 register always compares the value set to the CMPn1 register with the count value of 8-bit timer counter Hn and, when the two values match, generates an interrupt request signal (INTTMHn). At the same time, the count value is cleared. The CMPn1 register can be rewritten during timer count operation. If the value of the CMPn1 register is rewritten while the timer is operating, the new value is latched and transferred to the CMPn1 register when the count value of the timer matches the old value of the CMPn1 register, and then the value of the CMPn1 register is changed to the new value. If matching of the count value and the CMPn1 register value and writing a value to the CMPn1 register conflict, the value of the CMPn1 register is not changed. Reset sets this register to 00H.
After reset: 00H 7 CMPn1 (n = 0, 1)
R/W 6
Address: CMP01 FFFFF583H, CMP11 FFFFF593H 5 4 3 2 1 0
The CMPn1 register can be rewritten during timer count operation. In the carrier generator mode, after the CMPn1 register is set, if the count value of 8-bit timer counter Hn and the set value of the CMPn1 register match, an interrupt request signal (INTTMHn) is generated. At the same time, the value of 8-bit timer counter Hn is cleared to 00H. If the set value of the CMPn1 register is rewritten during timer operation, the reload timing is when the count value of 8-bit timer counter Hn and the set value of the CMPn1 register match. If the transfer timing and write to the CMPn1 register from the CPU conflict, transfer is not performed. Caution In the PWM output mode and carrier generator mode, be sure to set the CMPn1 register when starting the timer count operation (TMHMDn.TMHEn bit = 1) after the timer count operation was stopped (TMHEn bit = 0) (be sure to set again even if setting the same value to the CMPn1 register).
Preliminary User's Manual U17703EJ1V0UD
381
CHAPTER 10 8-BIT TIMER H
10.3 Registers
The registers that control 8-bit timer Hn are as follows. * 8-bit timer H mode register n (TMHMDn) * 8-bit timer H carrier control register n (TMCYCn) Remarks 1. To use the TOHn pin function, refer to Table 4-16 Alternate Functions. 2. n = 0, 1 (1) 8-bit timer H mode register n (TMHMDn) The TMHMDn register controls the mode of 8-bit timer Hn. TMHMDn register can be read or written in 8-bit or 1-bit units. Reset sets TMHMDn to 00H. Remark n = 0, 1 Settings When Port Pins Are Used for
382
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
(a) 8-bit timer H mode register 0 (TMHMD0)
After reset: 00H <7> TMHMD0 TMHE0 R/W 6 Address: FFFFF580H 5 4 3 2 <1> <0> TOEN0
CKSH02 CKSH01 CKSH00 TMMD01 TMMD00 TOLEV0
TMHE0 0 1
8-bit timer H0 operation enable Stop timer count operation (8-bit timer counter H0 = 00H) Enable timer count operation (Counting starts when clock is input)
CKSH02 CKSH01 CKSH00 Count clock 0 0 0 0 1 1 0 0 1 1 0 0 Other than above 0 1 0 1 0 1 fXX fXX/2 fXX/4 fXX/16 fXX/64 fXX/1024
Note
Selection of count clock fXX = 20 MHz fXX = 16.0 MHz fXX = 10.0 MHz
Setting prohibited Setting prohibited 100 ns
100 ns 200 ns 800 ns 1.6 s 51.2 s
125 ns 250 ns 1 s 4 s 64 s
200 ns 400 ns 1.6 s 6.4 s 102.4 s
Setting prohibited
TMMD01 TMMD00 0 0 1 1 0 1 0 1
8-bit timer H0 operation mode Interval timer mode Carrier generator mode PWM output mode Setting prohibited
TOLEV0 0 1 Low level High level
Timer output level control (default)
TOEN0 0 1 Disable output Enable output
Timer output control
Note Set so as to satisfy the following conditions. REGC = VDD = 4.0 to 5.5 V: Count clock 10 MHz REGC = 10 F, VDD = 4.0 to 5.5 V: Count clock 5 MHz REGC = VDD = 2.7 to 4.0 V: Count clock 5 MHz Cautions 1. When the TMHE0 bit = 1, setting bits other than those of the TMHMD0 register is prohibited. 2. In the PWM output mode and carrier generator mode, be sure to set the CMP01 register when starting the timer count operation (TMHE0 bit = 1) after the timer count operation was stopped (TMHE0 bit = 0) (be sure to set again even if setting the same value to the CMP01 register). 3. When using the carrier generator mode, set 8-bit timer H0 count clock frequency to six times 8-bit timer/event counter 50 count clock frequency or higher.
Preliminary User's Manual U17703EJ1V0UD
383
CHAPTER 10 8-BIT TIMER H
(b) 8-bit timer H mode register 1 (TMHMD1)
After reset: 00H <7> TMHMD1 TMHE1 R/W 6 Address: FFFFF590H 5 4 3 2 <1> <0> TOEN1
CKSH12 CKSH11 CKSH10 TMMD11 TMMD10 TOLEV1
TMHE1 0 1
8-bit timer H1 operation enable Stop timer count operation (8-bit timer counter H1 = 00H) Enable timer count operation (Counting starts when clock is input)
CKSH12 CKSH11 CKSH10 Count clock 0 0 0 0 1 1 0 0 1 1 0 0 Other than above 0 1 0 1 0 1 fXX fXX/2 fXX/4 fXX/16 fXX/64
Note
Selection of count clock fXX = 20.0 MHz fXX = 16.0 MHz fXX = 10.0 MHz
Setting prohibited Setting prohibited 100 ns
100 ns 200 ns 800 ns 1.6 s
125 ns 250 ns 1 s 4 s
200 ns 400 ns 1.6 s 6.4 s
fXT (subclock) Setting prohibited
TMMD11 TMMD10 0 0 1 1 0 1 0 1
8-bit timer H1 operation mode Interval timer mode Carrier generator mode PWM output mode Setting prohibited
TOLEV1 0 1 Low level High level
Timer output level control (default)
TOEN1 0 1 Disable output Enable output
Timer output control
Note Set so as to satisfy the following conditions. REGC = VDD = 4.0 to 5.5 V: Count clock 10 MHz REGC = 10 F, VDD = 4.0 to 5.5 V: Count clock 5 MHz REGC = VDD = 2.7 to 4.0 V: Count clock 5 MHz Cautions 1. When the TMHE1 bit = 1, setting bits other than those of the TMHMD1 register is prohibited. 2. In the PWM output mode and carrier generator mode, be sure to set the CMP11 register when starting the timer count operation (TMHE1 bit = 1) after the timer count operation was stopped (TMHE1 bit = 0) (be sure to set again even if setting the same value to the CMP11 register). 3. When using the carrier generator mode, set 8-bit timer H1 count clock frequency to six times 8-bit timer/event counter 51 count clock frequency or higher.
384
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
(2) 8-bit timer H carrier control register n (TMCYCn) This register controls the 8-bit timer Hn remote control output and carrier pulse output status. TMCYCn register can be read or written in 8-bit or 1-bit units. The NRZn bit is a read-only bit. Reset sets TMCYCn to 00H. Remark n = 0, 1
After reset: 00H 7 TMCYCn (n = 0, 1) RMCn 0 0 1 1 0
R/W 6 0
Address: TMCYC0 FFFFF581H, TMCYC1 FFFFF591H 5 0 4 0 3 0 2 RMCn 1 NRZBn <0> NRZn
NRZBn 0 1 0 1 Low-level output
Remote control output
High-level output Low-level output Carrier pulse output
NRZn 0 1
Carrier pulse output status flag Carrier output disabled status (low-level status) Carrier output enable status
Preliminary User's Manual U17703EJ1V0UD
385
CHAPTER 10 8-BIT TIMER H
10.4 Operation
10.4.1 Operation as interval timer/square wave output When the count value of 8-bit timer counter Hn and the set value of the CMPn0 register match, an interrupt request signal (INTTMHn) is generated and 8-bit timer counter Hn is cleared to 00H. The CMPn1 register cannot be used in the interval timer mode. Even if the CMPn1 register is set, this has no effect on the timer output because matches between 8-bit timer counter Hn and the CMPn1 register are not detected. A square wave of the desired frequency (duty = 50%) is output from the TOHn pin, by setting the TMHMDn.TOENn bit to 1. Remarks 1. For the alternate-function pin (TOHn) settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. For INTTMHn interrupt enable, refer to CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION. Setting <1> Set each register. Figure 10-2. Register Settings in Interval Timer Mode
(i)
8-bit timer H mode register n (TMHMDn) settings
TMHEn TMHMDn 0 CKSHn2 CKSHn1 CKSHn0 TMMDn1 TMMDn0 TOLEVn 0/1 0/1 0/1 0 0 0/1 TOENn 0/1
Sets timer output Sets timer output default level Sets interval timer mode Selects count clock (fCNT) Stops count operation
(ii) CMPn0 register settings The interval time is as follows if N is set as a comparison value. * Interval time = (N + 1)/fCNT <2> When the TMHEn bit is set to 1, counting starts. <3> When the count value of 8-bit timer counter Hn and the set value of the CMPn0 register match, the INTTMHn signal is generated and 8-bit timer counter Hn is cleared to 00H. <4> Then, the INTTMHn signal is generated in the same interval. To stop the count operation, clear the TMHEn bit to 0.
386
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
Figure 10-3. Timing of Interval Timer/Square Wave Output Operation (1/2)
Basic operation (operation when 01H CMPn0 FEH)
Count clock Count start 8-bit timer counter Hn count value 00H 01H N 00H Clear CMPn0 N 01H N 00H Clear 01H 00H
TMHEn
INTTMHn
Interval time
TOHn
<1> <2> Level inversion, match interrupt occurrence, 8-bit timer counter clear <3> <2> Level inversion, match interrupt occurrence, 8-bit timer counter clear
<1> When the TMHEn bit is set to 1, the count operation is enabled. The count clock starts counting no more than one clock after operation has been enabled. <2> When the count value of 8-bit timer counter Hn and the set value of the CMPn0 register match, the value of 8-bit timer counter Hn is cleared, the TOHn output level is inverted, and the INTTMHn signal is output at the rising edge of the count clock. <3> The INTTMHn signal and TOHn output are set to the default level when the TMHEn bit is cleared to 0 during 8-bit timer Hn operation. If the level is already at the default level before the TMHMDn.TMHEn bit is cleared to 0, that level is maintained. Remarks 1. n = 0, 1 2. 01H N FEH
Preliminary User's Manual U17703EJ1V0UD
387
CHAPTER 10 8-BIT TIMER H
Figure 10-3. Timing of Interval Timer/Square Wave Output Operation (2/2)
Operation when CMPn0 = FFH
Count clock Count start
8-bit timer counter Hn count value
00H
01H
FEH
FFH
00H Clear
FEH
FFH
00H Clear
CMPn0
FFH
TMHEn
INTTMHn
TOHn
Interval time
Operation when CMPn0 = 00H
Count clock Count start
8-bit timer counter Hn count value
00H
CMPn0
00H
TMHEn
INTTMHn
TOHn
Interval time
Remark
n = 0, 1
388
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
10.4.2 PWM output mode operation In the PWM output mode, a pulse of any duty and cycle can be output. The CMPn0 register controls the timer output (TOHn) cycle. Rewriting the CMPn0 register during timer operation is prohibited. The CMPn1 register controls the timer output (TOHn) duty. The CMPn1 register can be rewritten during timer operation. The operation in the PWM output mode is as follows. After timer counting starts, when the count value of 8-bit timer counter Hn and the set value of the CMPn0 register match, the TOHn output level is inverted and 8-bit timer counter Hn is cleared to 00H. When the count value of 8-bit timer counter Hn and the set value of the CMPn1 register match, the TOHn output level is inverted. Remarks 1. For the alternate-function pin (TOHn) settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. For INTTMHn interrupt enable, refer to CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION. Setting <1> Set each register. Figure 10-4. Register Settings in PWM Output Mode
(i)
8-bit timer H mode register n (TMHMDn) settings
TMHEn CKSHn2 CKSHn1 CKSHn0 TMMDn1 TMMDn0 TOLEVn 0/1 0/1 0/1 1 0 0/1 TOENn 1
TMHMDn
0
Enables timer output Sets timer output default level Selects PWM output mode Selects count clock (fCNT) Stops count operation
(ii) CMPn0 register setting * Compare value (N): Sets cycle (ii) CMPn1 register setting * Compare value (M): Sets duty Remarks 1. n = 0, 1 2. 00H CMPn1 (M) < CMPn0 (N) FFH
<2> When the TMHEn bit is set to 1, counting starts.
Preliminary User's Manual U17703EJ1V0UD
389
CHAPTER 10 8-BIT TIMER H
<3> After the count operation is enabled, the first compare register to be compared is the CMPn0 register. When the count value of 8-bit timer counter Hn and the set value of the CMPn0 register match, 8-bit timer counter Hn is cleared, an interrupt request signal (INTTMHn) is generated, and the TOHn output level is inverted. At the same time, the register that is compared with 8-bit timer counter Hn changes from the CMPn0 register to the CMPn1 register. <4> When the count value of 8-bit timer counter Hn and the set value of the CMPn1 register match, the TOHn output level is inverted, and at the same time the register that is compared with 8-bit timer counter Hn changes from the CMPn1 register to the CMPn0 register. At this time, 8-bit timer counter Hn is not cleared and the INTTMHn signal is not generated. <5> A pulse of any duty can be obtained through the repetition of steps <3> and <4> above. <6> To stop the count operation, clear the TMHEn bit to 0. Designating the set value of the CMPn0 register as (N), the set value of the CMPn1 register as (M), and the count clock frequency as fCNT, the PWM pulse output cycle and duty are as follows. PWM pulse output cycle = (N + 1)/fCNT Duty = inactive width: Active width = (M + 1) : (N + 1)
Cautions 1. The set value of the CMPn1 register can be changed while the timer counter is operating. However, this takes a duration of at least three operating clocks (signal selected by the CKSHn2 to CKSHn0 bits of the TMHMDn register) from when the value of the CMPn1 register is changed until the value is transferred to the register. 2. Be sure to set the CMPn1 register when starting the timer count operation (TMHEn bit = 1) after the timer count operation was stopped (TMHEn bit = 0) (be sure to set again even if setting the same value to the CMPn1 register). 3. Make sure that the CMPn1 register set value (M) and CMPn0 register set value (N) are within the following range. 00H CMPn1 (M) < CMPn0 (N) FFH
390
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
Figure 10-5. Operation Timing in PWM Output Mode (1/4)
Basic operation
Count clock
8-bit timer counter Hn count value
00H 01H
A5H 00H 01H 02H
A5H 00H 01H 02H
A5H 00H
CMPn0
A5H
CMPn1
01H
TMHEn
INTTMHn
TOHn (TOLEVn = 0)
<1> <2> <3>
<4>
TOHn (TOLEVn = 1)
<1> When the TMHEn bit is set to 1, counting starts. At this time TOHn output remains the default level. <2> When the count value of 8-bit timer counter Hn and the set value of the CMPn0 register match, the TOHn output level is inverted, 8-bit timer counter Hn is cleared, and the INTTMHn signal is output. <3> When the count value of 8-bit timer counter Hn and the set value of the CMPn1 register match, the TOHn output level is inverted. At this time, the value of 8-bit timer counter Hn is not cleared and the INTTMHn signal is not output. <4> When the TMHEn bit is cleared to 0 during 8-bit timer Hn operation, the INTTMHn signal and TOHn output are set to the default level. Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
391
CHAPTER 10 8-BIT TIMER H
Figure 10-5. Operation Timing in PWM Output Mode (2/4)
Operation when CMPn0 = FFH, CMPn1 = 00H
Count clock
8-bit timer counter Hn count value
00H 01H
FFH 00H 01H 02H
FFH 00H 01H 02H
FFH 00H
CMPn0
FFH
CMPn1
00H
TMHEn
INTTMHn
TOHn (TOLEVn = 0)
Operation when CMPn0 = FFH, CMPn1 = FEH
Count clock
8-bit timer counter Hn count value
00H 01H
FEH FFH 00H 01H
FEH FFH 00H 01H
FEH FFH 00H
CMPn0
FFH
CMPn1
FEH
TMHEn
INTTMHn
TOHn (TOLEVn = 0)
Remark
n = 0, 1
392
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
Figure 10-5. Operation Timing in PWM Output Mode (3/4)
Operation when CMPn0 = 01H, CMPn1 = 00H
Count clock
8-bit timer counter Hn count value
00H
01H 00H 01H 00H
00H 01H 00H 01H
CMPn0
01H
CMPn1
00H
TMHEn
INTTMHn
TOHn (TOLEVn = 0)
Remark
n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
393
CHAPTER 10 8-BIT TIMER H
Figure 10-5. Operation Timing in PWM Output Mode (4/4)
Operation by changing CMPn1 (CMPn1 = 02H 03H, CMPn0 = A5H)
Count clock
8-bit timer counter Hn
00H 01H 02H
80H
A5H 00H 01H 02H 03H
A5H 00H 01H 02H 03H
A5H 00H
CMPn0
A5H
CMPn1
02H <2>
02H (03H) <2>'
03H
TMHEn
INTTMHn
TOHn (TOLEVn = 0) <1> <3> <4> <5> <6>
<1> When the TMHEn bit is set to 1, counting starts. At this time, the TOHn output remains the default level. <2> The set value of the CMPn1 register can be changed during count operation. asynchronous to the count clock. <3> When the count value of 8-bit timer counter Hn and the set value of the CMPn0 register match, 8-bit timer counter Hn is cleared, the TOHn output level is inverted, and the INTTMHn signal is generated. <4> Even if the value of the CMPn1 register is changed, that value is latched and not transferred to the register. When the count value of 8-bit timer counter Hn and the set value of the CMPn1 register prior to the change match, the changed value is transferred to the CMPn1 register and the value of the CMPn1 register is changed (<2>'). However, three or more count clocks are required from the time the value of the CMPn1 register is changed until it is transferred to the register. Even if a match signal is generated within three count clocks, the changed value cannot be transferred to the register. <5> When the count value of 8-bit timer counter Hn matches the changed set value of the CMPn1 register, the TOHn output level is inverted. 8-bit timer counter Hn is not cleared and the INTTMHn signal is not generated. <6> When the TMHEn bit is cleared to 0 during 8-bit timer Hn operation, the INTTMHn signal and TOHn output are set to the default level. This operation is
394
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
10.4.3 Carrier generator mode operation The carrier clock generated by 8-bit timer Hn is output using the cycle set with 8-bit timer/event counter 5n. In the carrier generator mode, 8-bit timer/event counter 5n is used to control the extent to which the carrier pulse of 8-bit timer Hn is output, and the carrier pulse is output from the TOHn output. Remarks 1. For the alternate-function pin (TOHn) settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. For INTTMHn interrupt enable, refer to CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION. (1) Carrier generation In the carrier generator mode, the CMPn0 register generates a waveform with the low-level width of the carrier pulse and the CMPn1 register generates a waveform with the high-level width of the carrier pulse. During 8-bit timer Hn operation, the CMPn1 register can be rewritten, but rewriting of the CMPn0 register is prohibited. (2) Carrier output control Carrier output control is performed with the interrupt request signal (INTTM5n) of 8-bit timer/event counter 5n and the TMCYCn.NRZBn and TMCYCn.RMCn bits. The output relationships are as follows.
RMCn Bit 0 0 1 1 NRZBn Bit 0 1 0 1 Output Low level output High level output Low level output Carrier pulse output
Remark
n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
395
CHAPTER 10 8-BIT TIMER H
To control carrier pulse output during count operation, the TMCYCn.NRZn and TMCYCn.NRZBn bits have a master and slave bit configuration. The NRZn bit is read-only while the NRZBn bit can be read and written. The INTTM5n signal is synchronized with the 8-bit timer Hn clock and output as the INTTM5Hn signal. The INTTM5Hn signal becomes the data transfer signal of the NRZn bit and the value of the NRZBn bit is transferred to the NRZn bit. The transfer timing from the NRZBn bit to the NRZn bit is as follows. Figure 10-6. Transfer Timing
TMHEn
8-bit timer Hn count clock
INTTM5n
INTTM5Hn <1> NRZn 0 <2> NRZBn 1 <3> RMCn 0 1 1 0
<1> The INTTM5n signal is synchronized with the count clock of 8-bit timer Hn and is output as the INTTM5Hn signal. <2> The value of the NRZBn bit is transferred to the NRZn bit at the second clock from the rising edge of the INTTM5Hn signal. <3> Write the next value to the NRZBn bit in the interrupt servicing programming that has been started by the INTTM5Hn interrupt or after timing has been checked by polling the interrupt request flag. Write data to count the next time to the CR5n register. Cautions 1. Do not rewrite the NRZBn bit again until at least the second clock after it has been rewritten, or else transfer from the NRZBn bit to the NRZn bit is not guaranteed. 2. When using 8-bit timer/event counter 5n in the carrier generator mode, an interrupt occurs at the timing of <1>. An interrupt occurs at a different timing when it is used in other than the carrier generator mode. Remark n = 0, 1
396
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
Setting <1> Set each register. Figure 10-7. Register Settings in Carrier Generator Mode
* 8-bit timer H mode register n (TMHMDn)
TMHEn TMHMDn 0 CKSHn2 CKSHn1 CKSHn0 TMMDn1 TMMDn0 TOLEVn 0/1 0/1 0/1 0 1 0/1 TOENn 1
Enables timer output Sets timer output default level Selects carrier generator mode Selects count clock (fCNT) Stops count operation
* CMPn0 register: * CMPn1 register: * TMCYCn register:
Compare value Compare value RMCn = 1 ... Remote control output enable bit NRZBn = 0/1 ... Carrier output enable bit
* TCL5n, TMC5n registers: Refer to 9.3 Registers. Remark n = 0, 1
<2> When the TMHEn bit is set to 1, 8-bit timer Hn count operation starts. <3> When the TMC5n.TCE5n bit is set to 1, 8-bit timer/event counter 5n count operation starts. <4> After the count operation is enabled, the first compare register to be compared is the CMPn0 register. When the count value of 8-bit timer counter Hn and the set value of the CMPn0 register match, the INTTMHn signal is generated, 8-bit timer counter Hn is cleared, and at the same time, the register that is compared with 8-bit timer counter Hn changes from the CMPn0 register to the CMPn1 register. <5> When the count value of 8-bit timer counter Hn and the set value of the CMPn1 register match, the INTTMHn signal is generated, 8-bit timer counter Hn is cleared, and at the same time, the register that is compared with 8-bit timer counter Hn changes from the CMPn1 register to the CMPn0 register. <6> The carrier clock is obtained through the repetition of steps <4> and <5> above. <7> The INTTM5n signal is synchronized with 8-bit timer Hn and output as the INTTM5Hn signal. This signal becomes the data transfer signal of the NRZBn bit and the value of the NRZBn bit is transferred to the NRZn bit. <8> Write the next value to the NRZBn bit in the interrupt servicing programming that has been started by the INTTM5Hn interrupt or after timing has been checked by polling the interrupt request flag. Write data to count the next time to the CR5n register. <9> When the NRZn bit becomes high level, the carrier clock is output from the TOHn pin. <10> Any carrier clock can be obtained through the repetition of the above steps. To stop the count operation, clear the TMHEn bit to 0.
Preliminary User's Manual U17703EJ1V0UD
397
CHAPTER 10 8-BIT TIMER H
Designating the set value of the CMPn0 register as (N), the set value of the CMPn1 register as (M), and the count clock frequency as fCNT, the carrier clock output cycle and duty are as follows. Carrier clock output cycle = (N + M + 2)/fCNT Duty = High level width: Carrier clock output width = (M + 1) : (N + M + 2)
Cautions 1. Be sure to set the CMPn1 register when starting the timer count operation (TMHEn bit = 1) after the timer count operation was stopped (TMHEn bit = 0) (be sure to set again even if setting the same value to the CMPn1 register). 2. Set the values of the CMPn0 and CMPn1 registers in the range of 01H to FFH. 3. In the carrier generator mode, three operating clocks (signal selected by the TMHMDn.CKSHn0 to TMHMDn.CKSHn2 bits) are required for actual transfer of the new value to the register after the CMPn1 register has been rewritten. 4. Be sure to perform the TMCYCn.RMCn bit setting before the start of the count operation. 5. When using the carrier generator mode, set the 8-bit timer Hn count clock frequency to six times the 8-bit timer/event counter 5n count clock frequency or higher.
398
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
Figure 10-8. Carrier Generator Mode (1/3) Operation when the CMPn0 register = N, the CMPn1 register = N is set
8-bit timer Hn count clock 8-bit timer counter Hn count value CMPn0 CMPn1 TMHEn INTTMHn <1> <2> Carrier clock 8-bit timer 5n count clock TM5n count value CR5n TCE5n <5> INTTM5n INTTM5Hn NRZBn NRZn Carrier clock TOHn <7> 0 0 1 1 0 <6> 0 1 0 1 0
00H 01H K 00H 01H L 00H 01H M 00H 01H N 00H 01H 00H N 00H N 00H N 00H N N 00H N 00H N
N
<3>
<4>
K
L
M
N
<6>
<1> When the TMHEn bit = 0 and the TCE5n bit = 0, the operation of 8-bit timer Hn is stopped. <2> When the TMHEn bit is set to 1, 8-bit timer Hn starts counting. The carrier clock remains the default level. <3> When the count value of 8-bit timer counter Hn and the set value of the CMPn0 register match, the first INTTMHn signal is generated, the carrier clock signal is inverted, and the register that is compared with 8-bit timer counter Hn changes from the CMPn0 register to the CMPn1 register. 8-bit timer counter Hn is cleared to 00H. <4> When the count value of 8-bit timer counter Hn and the set value of the CMPn1 register match, the INTTMHn signal is generated, the carrier clock signal is inverted, and the register that is compared with 8-bit timer counter Hn changes from the CMPn1 register to the CMPn0 register. 8-bit timer counter Hn is cleared to 00H. A carrier clock with a duty of 50% is generated through the repetition of steps <3> and <4>. <5> The INTTM5n signal is synchronized with 8-bit timer Hn and output as the INTTM5Hn signal. <6> The INTTM5Hn signal becomes the data transfer signal of the NRZBn bit, and the value of the NRZBn bit is transferred to the NRZn bit. <7> The TOHn output is made low level by clearing the NRZn bit = 0. Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
399
CHAPTER 10 8-BIT TIMER H
Figure 10-8. Carrier Generator Mode (2/3) Operation when the CMPn0 register = N, the CMPn1 register = M is set
8-bit timer Hn count clock 8-bit timer counter Hn count value CMPn0 CMPn1 TMHEn INTTMHn <1> <2> Carrier clock 8-bit timer 5n count clock TM5n count value NRZBn TCE5n <5> INTTM5n INTTM5Hn NRZBn NRZn Carrier clock <6> TOHn <7> 0 0 1 1 0 0 1 1 0 0
00H 01H K K 00H 01H L L 00H 01H M 00H 01H M N 00H 01H N 00H N 00H 01H M 00H N N 00H 01H M 00H N 00H
M
<3>
<4>
<1> When the TMHEn bit = 0 and the TCE5n bit = 0, the operation of 8-bit timer Hn is stopped. <2> When the TMHEn bit is set to 1, 8-bit timer Hn starts counting. The carrier clock remains the default level at this time. <3> When the count value of 8-bit timer counter Hn and the set value of the CMPn0 register match, the first INTTMHn signal is generated, the carrier clock signal is inverted, and the register that is compared with 8-bit timer counter Hn changes from the CMPn0 register to the CMPn1 register. 8-bit timer counter Hn is cleared to 00H. <4> When the count value of 8-bit timer counter Hn and the set value of the CMPn1 register match, the INTTMHn signal is generated, the carrier clock signal is inverted, and the register that is compared with 8-bit timer counter Hn changes from the CMPn1 register to the CMPn0 register. 8-bit timer counter Hn is cleared to 00H. A carrier clock with a fixed duty (other than 50%) is generated through the repetition of steps <3> and <4>. <5> The INTTM5n signal is generated. This signal is synchronized with 8-bit timer Hn and output as the INTTM5Hn signal. <6> The carrier is output from the rising edge of the first carrier clock by setting the NRZn bit = 1. <7> By setting the NRZn bit = 0, the TOHn output is also maintained high level while the carrier clock is high level, and does not change to low level (the high level width of the carrier waveform is guaranteed through steps <6> and <7>). Remark n = 0, 1
400
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 10 8-BIT TIMER H
Figure 10-8. Carrier Generator Mode (3/3) Operation based on the CMPn1 register transitions
8-bit timer Hn count clock
8-bit timer counter Hn count value
00H 01H
N
00H 01H
M
00H
N
00H 01H
L
00H
CMPn0 <3> CMPn1 M M (L)
N <3>' L
TMHEn
INTTMHn <2> Carrier clock <1> <4> <5>
<1> When the TMHEn bit is set to 1, counting starts. The carrier clock remains the default level at this time. <2> When the count value of the 8-bit timer counter Hn matches the value of the CMPn0 register, the INTTMHn signal is output, the carrier signal is inverted, and the 8-bit timer counter is cleared to 00H. At the same time, the compare register whose value is to be compared with that of the 8-bit timer counter Hn is changed from the CMPn0 register to the CMPn1 register. <3> The CMPn1 register is asynchronous to the count clock, and its value can be changed while the 8-bit timer Hn is operating. The new value (L) to which the value of the register is to be changed is latched. When the count value of the 8-bit timer counter Hn matches the value (M) of the CMPn1 register before the change, the CMPn1 register is changed (<3>'). However, it takes three count clocks or more since the value of the CMPn1 register has been changed until the value is transferred to the register. Even if a match signal is generated before the duration of three count clocks elapses, the new value is not transferred to the register. <4> When the count value of 8-bit timer counter Hn and the value (M) of the CMPn1 register match, the INTTMHn signal is output, the carrier signal is inverted, and 8-bit timer counter Hn is cleared to 00H. At the same time, the compare register whose value is to be compared with that of the 8-bit timer counter Hn is changed from the CMPn1 register to the CMPn0 register. <5> The timing at which the count value of 8-bit timer counter Hn and the value of the CMPn1 register match again is the changed value (L). Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
401
CHAPTER 11 INTERVAL TIMER, WATCH TIMER
The V850ES/KG2 includes interval timer BRG and a watch timer. Interval timer BRG can also be used as the source clock of the watch timer. The watch timer can also be used as interval timer WT. Two interval timer channels and one watch timer channel can be used at the same time.
11.1 Interval Timer BRG
11.1.1 Functions Interval timer BRG has the following functions. * Interval timer BRG: An interrupt request signal (INTBRG) is generated at a specified interval. * Generation of count clock for watch timer: When the main clock is used as the count clock for the watch timer, a count clock (fBRG) is generated. 11.1.2 Configuration The following shows the block diagram of interval timer BRG. Figure 11-1. Block Diagram of Interval Timer BRG
fX
Clock control
3-bit prescaler fX/8 fX/4 fX/2 fX
Selector
fBGCS Clear
INTBRG 8-bit counter Match Output control fBRG Count clock for watch timer
1/2
2
PRSCM register
BGCE
TODIS
BGCS1
BGCS0
PRSM register Internal bus
Remark
fX: fBGCS: fBRG:
Main clock oscillation frequency Interval timer BRG count clock frequency Watch timer count clock frequency
INTBRG: Interval timer BRG interrupt request signal
402
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 11 INTERVAL TIMER, WATCH TIMER
(1) Clock control The clock control controls supply/stop of the operation clock of interval timer BRG. (2) 3-bit prescaler The 3-bit prescaler divides fX to generate fX/2, fX/4, and fX/8. (3) Selector The selector selects the count clock (fBGCS) for interval timer BRG from fX, fX/2, fX/4, and fX/8. (4) 8-bit counter The 8-bit counter counts the count clock (fBGCS). (5) Output control The output control controls supply of the count clock (fBRG) for the watch timer. (6) PRSCM register The PRSCM register is an 8-bit compare register that sets the interval time. (7) PRSM register The PRSM register controls the operation of interval timer BRG, the selector, and clock supply to the watch timer.
Preliminary User's Manual U17703EJ1V0UD
403
CHAPTER 11 INTERVAL TIMER, WATCH TIMER
11.1.3 Registers Interval timer BRG includes the following registers. (1) Interval timer BRG mode register (PRSM) PRSM controls the operation of interval timer BRG, selection of count clock, and clock supply to the watch timer. This register can be read or written in 8-bit or 1-bit units. Reset sets PRSM to 00H.
After reset: 00H
R/W
Address: FFFFF8B0H <>
PRSM
0
0
0
BGCE
0
TODIS
BGCS1
BGCS0
BGCE 0 1
Control of interval timer operation Operation stopped, 8-bit counter cleared to 01H Operate
TODIS 0 1
Control of clock supply for watch timer Clock for watch timer supplied Clock for watch timer not supplied
BGCS1
BGCS0
Selection of input clock (fBGCS)Note 10 MHz 5 MHz 200 ns 400 ns 800 ns 1.6 s 4 MHz 250 ns 500 ns 1 s 2 s
0 0 1 1
0 1 0 1
fX fX/2 fX/4 fX/8
100 ns 200 ns 400 ns 800 ns
Note Set these bits so that the following conditions are satisfied. VDD = 4.0 to 5.5 V: fBGCS 10 MHz VDD = 2.7 to 4.0 V: fBGCS 5 MHz Cautions 1. Do not change the values of the TODIS, BGCS1, and BGCS0 bits while interval timer BRG is operating (BGCE bit = 1). Set the TODIS, BGCS1, and BGCS0 bits before setting (1) the BGCE bit. 2. When the BGCE bit is cleared (to 0), the 8-bit counter is cleared.
404
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 11 INTERVAL TIMER, WATCH TIMER
(2) Interval timer BRG compare register (PRSCM) PRSCM is an 8-bit compare register. This register can be read or written in 8-bit units. Reset sets PRSCM to 00H.
After reset: 00H
R/W
Address: FFFFF8B1H
PRSCM
PRSCM7 PRSCM6 PRSCM5 PRSCM4 PRSCM3 PRSCM2 PRSCM1 PRSCM0
Caution Do not rewrite the PRSCM register while interval timer BRG is operating (PRSM.BGCE bit = 1). before setting (1) the BGCE bit. Set the PRSCM register
Preliminary User's Manual U17703EJ1V0UD
405
CHAPTER 11 INTERVAL TIMER, WATCH TIMER
11.1.4 Operation (1) Operation of interval timer BRG Set the count clock by using the BGCS1 and BGCS0 bits of PRSM and the 8-bit compare value by using the PRSCM register. When the PRSM.BGCE bit is set (1), interval timer BRG starts operating. Each time the count value of the 8-bit counter and the set value in the PRSCM register match, an interrupt request signal (INTBRG) is generated. At the same time, the 8-bit counter is cleared to 00H and counting is continued. The interval time can be obtained from the following equation. Interval time = 2m x N/fX Remark m: Division value (set values of BGCS1 and BGCS0 bits) = 0 to 3 N: Set value in PRSCM register = 1 to 256 (when the set value in the PRSCM register is 00H, N = 256) fX: Main clock oscillation frequency (2) Count clock supply for watch timer Set the count clock by using the BGCS1 and BGCS0 bits of PRSM and the 8-bit compare value by using the PRSCM register, so that the count clock frequency (fBRG) of the watch timer is 32.768 kHz. Clear (0) the PRSM.TODIS bit at the same time. When the PRSM.BGCE bit is set (1), fBRG is supplied to the watch timer. fBRG is obtained from the following equation. fBRG = fX/(2m+ 1 x N) To set fBRG to 32.768 kHz, perform the following calculation to set the BGCS1 and BGCS0 bits and the PRSCM register. <1> Set N = fX/65,536 (round off the decimal) to set m = 0. <2> If N is even, N = N/2 and m = m + 1 <3> Repeat step <2> until N is even or m = 3 <4> Set N to the PRSCM register and m to the BGCS1 and BGCS0 bits. Example: When fX = 4.00 MHz <1> N = 4,000,000/65,536 = 61 (round off the decimal), m = 0 <2>, <3> Since N is odd, the values remain as N = 61, m = 0 <4> The set value in the PRSCM register: 3DH (61), the set values in the BGCS1 and BGCS0 bits: 00 Remark m: Divided value (set value in the BGCS1 and BGCS0 bits) = 0 to 3 N: Set value in PRSCM register = 1 to 256 (when the set value in the PRSCM register is 00H, N = 256) fX: Main clock oscillation frequency
406
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 11 INTERVAL TIMER, WATCH TIMER
11.2 Watch Timer
11.2.1 Functions The watch timer has the following functions. * Watch timer: An interrupt request signal (INTWT) is generated at time intervals of 0.5 or 0.25 seconds by using the main clock or subclock. * Interval timer: An interrupt request signal (INTWTI) is generated at the preset time interval. The watch timer and interval timer functions can be used at the same time. 11.2.2 Configuration The following shows the block diagram of the watch timer. Figure 11-2. Block Diagram of Watch Timer
Clear
Selector
Selector
5-bit counter
Selector
INTWT
fBRG fXT
fW
11-bit prescaler
fW/24 fW/25 fW/26 fW/27 fW/28 fW/210 fW/211 fW/29
Clear
Selector
INTWTI
3
WTM7
WTM6
WTM5
WTM4
WTM3
WTM2
WTM1
WTM0
Watch timer operation mode register (WTM)
Internal bus
Remark
fBRG: fXT: fW: INTWT:
Frequency of count clock from interval timer BRG Subclock frequency Watch timer clock frequency Watch timer interrupt request signal
INTWTI: Interval timer interrupt request signal
Preliminary User's Manual U17703EJ1V0UD
407
CHAPTER 11 INTERVAL TIMER, WATCH TIMER
(1) 11-bit prescaler The 11-bit prescaler generates a clock of fW/24 to fW/211 by dividing fW. (2) 5-bit counter The 5-bit counter generates the watch timer interrupt request signal (INTWT) at intervals of 24/fW, 25/fW, 213/fW, or 214/fW by counting fW or fW/29. (3) Selectors The watch timer has the following four selectors. * Selector that selects the main clock (the clock from interval timer BRG (fBRG)) or the subclock (fXT) as the clock for the watch timer. * Selector that selects fW or fW/29 as the count clock frequency of the 5-bit counter * Selector that selects 24/fW or 213/fW, or 25/fW or 214/fW as the INTWT signal generation time interval. * Selector that selects the generation time interval of the interval timer WT interrupt request signal (INTWTI) from 24/fW to 211/fW. (4) 8-bit counter The 8-bit counter counts the count clock (fBGCS). (5) WTM register The WTM register is an 8-bit register that controls the operation of the watch timer/interval timer WT and sets the interval of interrupt request signal generation. 11.2.3 Registers The watch timer includes the following register. (1) Watch timer operation mode register (WTM) This register enables or disables the count clock and operation of the watch timer, sets the interval time of the 11-bit prescaler, controls the operation of the 5-bit counter, and sets the timer of watch timer interrupt request signal (INTWT) generation. The WTM register can be read or written in 8-bit or 1-bit units. Reset sets WTM to 00H.
408
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 11 INTERVAL TIMER, WATCH TIMER
After reset: 00H
R/W
Address: FFFFF680H <> <> WTM0
WTM
WTM7
WTM6
WTM5
WTM4
WTM3
WTM2
WTM1
WTM7 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
WTM6 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
WTM5 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
WTM4 Selection of interval timer interrupt (INTWTI) time 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 24/fW (488 s: fW = fXT) 25/fW (977 s: fW = fXT) 26/fW (1.95 ms: fW = fXT) 27/fW (3.91 ms: fW = fXT) 28/fW (7.81 ms: fW = fXT) 29/fW (15.6 ms: fW = fXT) 210/fW (31.3 ms: fW = fXT) 211/fW (62.5 ms: fW = fXT) 24/fW (488 s: fW = fBRG) 25/fW (977 s: fW = fBRG) 26/fW (1.95 ms: fW = fBRG) 27/fW (3.91 ms: fW = fBRG) 28/fW (7.81 ms: fW = fBRG) 29/fW (15.6 ms: fW = fBRG) 210/fW (31.3 ms: fW = fBRG) 211/fW (62.5 ms: fW = fBRG)
WTM7 0 0 0 0 1 1 1 1
WTM3 0 0 1 1 0 0 1 1
WTM2 0 1 0 1 0 1 0 1
Selection of watch timer interrupt (INTWT) time 214/fW (0.5 s: fW = fXT) 213/fW (0.25 s: fW = fXT) 25/fW (977 s: fW = fXT) 24/fW (488 s: fW = fXT) 214/fW (0.5 s: fW = fBRG) 213/fW (0.25 s: fW = fBRG) 25/fW (977 s: fW = fBRG) 24/fW (488 s: fW = fBRG)
WTM1 0 1
Control of 5-bit counter operation Clear after operation stops Start
WTM0 0 1
Watch timer operation enable Stop operation (clear both prescaler and 5-bit counter) Enable operation
Caution Rewrite the WTM2 to WTM7 bits while both the WTM0 and WTM1 bits are 0. Remarks 1. fW: Watch timer clock frequency 2. Values in parentheses apply when fW = 32.768 kHz
Preliminary User's Manual U17703EJ1V0UD
409
CHAPTER 11 INTERVAL TIMER, WATCH TIMER
11.2.4 Operation (1) Operation as watch timer The watch timer generates an interrupt request at fixed time intervals. The watch timer operates using time intervals of 0.25 or 0.5 seconds with the subclock (32.768 kHz). The count operation starts when the WTM.WTM0 and WTM.WTM1 bits are set to 11. When these bits are cleared to 00, the 10-bit prescaler and 5-bit counter are cleared and the count operation stops. The 5-bit counter can be cleared to synchronize the time by clearing the WTM1 bit to 0 when the watch timer and interval timer WT operate simultaneously. At this time, an error of up to 15.6 ms may occur in the watch timer, but interval timer WT is not affected. (2) Operation as interval timer The watch timer can also be used as an interval timer that repeatedly generates an interrupt request signal (INTWTI) at intervals specified by a count value set in advance. The interval time can be selected by the WTM.WTM4 to WTM.WTM7 bits. Table 11-1. Interval Time of Interval Timer
WTM7 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 WTM6 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 WTM5 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 WTM4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 x 1/fW
4
Interval Time 488 s (operating at fW = fXT = 32.768 kHz) 977 s (operating at fW = fXT = 32.768 kHz) 1.95 ms (operating at fW = fXT = 32.768 kHz) 3.91 ms (operating at fW = fXT = 32.768 kHz) 7.81 ms (operating at fW = fXT = 32.768 kHz) 15.6 ms (operating at fW = fXT = 32.768 kHz) 31.3 ms (operating at fW = fXT = 32.768 kHz) 62.5 ms (operating at fW = fXT = 32.768 kHz) 488 s (operating at fW = fBRG = 32.768 kHz) 977 s (operating at fW = fBRG = 32.768 kHz) 1.95 ms (operating at fW = fBRG = 32.768 kHz) 3.91 ms (operating at fW = fBRG = 32.768 kHz) 7.81 ms (operating at fW = fBRG = 32.768 kHz) 15.6 ms (operating at fW = fBRG = 32.768 kHz) 31.3 ms (operating at fW = fBRG = 32.768 kHz) 62.5 ms (operating at fW = fBRG = 32.768 kHz)
2 x 1/fW
5
2 x 1/fW
6
2 x 1/fW
7
2 x 1/fW
8
2 x 1/fW
9
2 x 1/fW
10
2 x 1/fW
11
2 x 1/fW
4
2 x 1/fW
5
2 x 1/fW
6
2 x 1/fW
7
2 x 1/fW
8
2 x 1/fW
9
2 x 1/fW
10
2 x 1/fW
11
Remark
fW: Watch timer clock frequency
410
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 11 INTERVAL TIMER, WATCH TIMER
Figure 11-3. Operation Timing of Watch Timer/Interval Timer
5-bit counter
0H Start Count clock fW or fW/29 Watch timer interrupt INTWT Interrupt time of watch timer (0.5 s) Interrupt time of watch timer (0.5 s) Interval timer interrupt INTWTI Interval time (T) nT Interval time (T) nT Overflow Overflow
Remarks 1. Assuming that the interrupt time of the watch timer is set to 0.5 seconds. 2. fW: Watch timer clock frequency Values in parentheses apply when count clock fW = 32.768 kHz. n: Number of interval timer WT operations
11.3 Cautions
(1) Operation as watch timer Some time is required before the first watch timer interrupt request (INTWT) is generated after operation is enabled (WTM.WTM1 and WTM.WTM0 bits = 11). Figure 11-4. Example of Generation of Watch Timer Interrupt Request (INTWT) (When Interrupt Period = 0.5 s)
It takes 0.515625 (max.) seconds for the first INTWT to be generated (29 x 1/32768 = 0.015625 (max.) s longer). INTWT is then generated every 0.5 seconds.
WTM0, WTM1 0.515625 s 0.5 s 0.5 s
INTWT
Preliminary User's Manual U17703EJ1V0UD
411
CHAPTER 11 INTERVAL TIMER, WATCH TIMER
(2) When watch timer and interval timer BRG operate simultaneously When using the subclock as the count clock for the watch timer, the interval time of interval timer BRG can be set to any value. Changing the interval time does not affect the watch timer (before changing the interval time, stop operation). When using the main clock as the count clock for the watch timer, set the interval time of interval timer BRG to approximately 65.536 kHz. Do not change this value. (3) When interval timer BRG and interval timer WT operate simultaneously When using the subclock as the count clock for interval timer WT, the interval times of interval timers BRG and WT can be set to any values. They can also be changed later (before changing the value, stop operation). When using the main clock as the count clock for interval timer WT, the interval time of interval timer BRG can be set to any value, but cannot be changed later (it can be changed only when interval timer WT stops operation). The interval time of interval timer WT can be set to x 25 to x 212 of the set value of interval timer BRG. It can also be changed later. (4) When watch timer and interval timer WT operate simultaneously The interval time of interval timer WT can be set to a value between 488 s and 62.5 ms. It cannot be changed later. Do not stop interval timer WT (clear (0) the WTM.WTM0 bit) while the watch timer is operating. If the WTM0 bit is set (1) after it had been cleared (0), the watch timer will have a discrepancy of up to 0.5 or 0.25 seconds. (5) When watch timer, interval timer BRG, and interval timer WT operate simultaneously When using the subclock as the count clock for the watch timer, the interval times of interval timers BRG and WT can be set to any values. The interval time of interval timer BRG can be changed later (before changing the value, stop operation). When using the main clock as the count clock for the watch timer, set the interval time of interval timer BRG to approximately 65.536 kHz. It cannot be changed later. The interval time of interval timer WT can be set to a value between 488 s and 62.5 ms. It cannot be changed later. Do not stop interval timer BRG (clear (0) the PRSM.BGCE bit) or interval timer WT (clear (0) the WTM.WTM0 bit) while the watch timer is operating.
412
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 12 WATCHDOG TIMER FUNCTIONS
12.1 Watchdog Timer 1
12.1.1 Functions Watchdog timer 1 has the following operation modes. * Watchdog timer * Interval timer The following functions are realized from the above-listed operation modes. * Generation of non-maskable interrupt request signal (INTWDT1) upon overflow of watchdog timer 1Note * Generation of system reset signal (WDTRES1) upon overflow of watchdog timer 1 * Generation of maskable interrupt request signal (INTWDTM1) upon overflow of interval timer Note For non-maskable interrupt servicing due to non-maskable interrupt request signal (INTWDT1, INTWDT2), refer to 21.10 Cautions. Remark Select whether to use watchdog timer 1 in the watchdog timer 1 mode or the interval timer mode with the WDTM1 register.
Preliminary User's Manual U17703EJ1V0UD
413
CHAPTER 12 WATCHDOG TIMER FUNCTIONS
Figure 12-1. Block Diagram of Watchdog Timer 1
Internal bus Watchdog timer mode register 1 (WDTM1) Watchdog timer clock selection register (WDCS)
RUN1
WDTM14 WDTM13
WDCS2
WDCS1
WDCS0
2
Clear
3
fXW
Prescaler
fXW/221 fXW/219 fXW/218
Selector
fXW/217 fXW/216 fXW/2 fXW/2
15 14
INTWDTM1
Output controller
INTWDT1
WDTRES1
fXW/213
Remark
INTWDTM1: Request signal for maskable interrupt through watchdog timer 1 overflow INTWDT1: fXW = fX: Request signal for non-maskable interrupt through watchdog timer 1 overflow Watchdog timer 1 clock frequency WDTRES1: Reset signal through watchdog timer 1 overflow
414
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 12 WATCHDOG TIMER FUNCTIONS
12.1.2 Configuration Watchdog timer 1 includes the following hardware. Table 12-1. Configuration of Watchdog Timer 1
Item Control register Configuration Watchdog timer clock selection register (WDCS) Watchdog timer mode register 1 (WDTM1)
12.1.3 Registers The registers that control watchdog timer 1 are as follows. * Watchdog timer clock selection register (WDCS) * Watchdog timer mode register 1 (WDTM1) (1) Watchdog timer clock selection register (WDCS) This register sets the overflow time of watchdog timer 1 and the interval timer. The WDCS register can be read or written in 8-bit or 1-bit units. Reset sets WDCS to 00H.
After reset: 00H
R/W
Address: FFFFF6C1H
WDCS
0
0
0
0
0
WDCS2
WDCS1
WDCS0
WDCS2
WDCS1
WDCS0
Overflow time of watchdog timer 1/interval timer fXW 4 MHz 5 MHz 1.638 ms 3.277 ms 6.554 ms 13.11 ms 26.21 ms 52.43 ms 104.9 ms 419.4 ms 10 MHz 0.819 ms 1.638 ms 3.277 ms 6.554 ms 13.11 ms 26.2 ms 52.43 ms 209.7 ms
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
2 /fXW 2 /fXW 2 /fXW 216/fXW 2 /fXW 2 /fXW 2 /fXW 221/fXW
19 18 17 15 14
13
2.048 ms 4.096 ms 8.192 ms 16.38 ms 32.77 ms 65.54 ms 131.1 ms 524.3 ms
Remark
fXW = fX: Watchdog timer 1 clock frequency
Preliminary User's Manual U17703EJ1V0UD
415
CHAPTER 12 WATCHDOG TIMER FUNCTIONS
(2) Watchdog timer mode register 1 (WDTM1) This register sets the watchdog timer 1 operation mode and enables/disables count operations. This register is a special register that can be written only in a special sequence (refer to 3.4.7 Special registers). The WDTM1 register can be read or written in 8-bit or 1-bit units. Reset sets WDTM1 to 00H. Caution When the main clock is stopped and the CPU is operating on the subclock, do not access the WDTM1 register. For details, refer to 3.4.8 (1) (b).
After reset: 00H <> WDTM1 RUN1
R/W
Address: FFFFF6C2H
0
0
WDTM14 WDTM13
0
0
0
RUN1 0 1
Selection of operation mode of watchdog timer 1Note 1 Stop counting Clear counter and start counting
WDTM14 WDTM13 Selection of operation mode of watchdog timer 1Note 2 0 0 1 0 1 0 Interval timer mode (Upon overflow, maskable interrupt INTWDTM1 is generated.) Watchdog timer mode 1Note 3 (Upon overflow, non-maskable interrupt INTWDT1 is generated.) Watchdog timer mode 2 (Upon overflow, reset operation WDTRES1 is started.)
1
1
Notes 1. Once the RUN1 bit is set (to 1), it cannot be cleared (to 0) by software. Therefore, when counting is started, it cannot be stopped except reset. 2. Once the WDTM13 and WDTM14 bits are set (to 1), they cannot be cleared (to 0) by software and can be cleared only by reset. 3. For non-maskable interrupt servicing due to non-maskable interrupt request signal (INTWDT1), refer to 21.10 Cautions.
416
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 12 WATCHDOG TIMER FUNCTIONS
12.1.4 Operation (1) Operation as watchdog timer 1 Watchdog timer 1 operation to detect a program loop is selected by setting the WDTM1.WDTM14 bit to 1. The count clock (program loop detection time interval) of watchdog timer 1 can be selected using the WDCS.WDCS0 to WDCS.WDCS2 bits. The count operation is started by setting the WDTM1.RUN1 bit to 1. When, after the count operation is started, the RUN1 bit is again set to 1 within the set program loop detection time interval, watchdog timer 1 is cleared and the count operation starts again. If the program loop detection time is exceeded without RUN1 bit being set to 1, reset signal (WDTRES1) through the value of the WDTM1.WDTM13 bit or a non-maskable interrupt request signal (INTWDT1) is generated. The count operation of watchdog timer 1 stops in the STOP mode and IDLE mode. Set the RUN1 bit to 1 before the STOP mode or IDLE mode is entered in order to clear watchdog timer 1. Because watchdog timer 1 operates in the HALT mode, make sure that an overflow will not occur during HALT. Cautions 1. When the subclock is selected for the CPU clock, the count operation of watchdog timer 1 is stopped (the value of watchdog timer 1 is maintained). 2. For non-maskable interrupt servicing due to the INTWDT1 signal, refer to 21.10 Cautions. Table 12-2. Program Loop Detection Time of Watchdog Timer 1
Clock Program Loop Detection Time fXW = 4 MHz 2 /fXW 2 /fXW 2 /fXW 2 /fXW 2 /fXW 2 /fXW 2 /fXW 2 /fXW
21 19 18 17 16 15 14 13
fXW = 5 MHz 1.638 ms 3.277 ms 6.554 ms 13.11 ms 26.21 ms 52.43 ms 104.9 ms 419.4 ms
fXW = 10 MHz 0.819 ms 1.683 ms 3.277 ms 6.554 ms 13.11 ms 26.21 ms 52.43 ms 209.7 ms
2.048 ms 4.096 ms 8.192 ms 16.38 ms 32.77 ms 65.54 ms 131.1 ms 524.3 ms
Remark
fXW = fX: Watchdog timer 1 clock frequency
Preliminary User's Manual U17703EJ1V0UD
417
CHAPTER 12 WATCHDOG TIMER FUNCTIONS
(2) Operation as interval timer Watchdog timer 1 can be made to operate as an interval timer that repeatedly generates interrupts using the count value set in advance as the interval, by clearing the WDTM1.WDTM14 bit to 0. When watchdog timer 1 operates as an interval timer, the interrupt mask flag (WDTMK) and priority specification flags (WDTPR0 to WDTPR2) of the WDTIC register are valid and maskable interrupt request signals (INTWDTM1) can be generated. The default priority of the INTWDTM1 signal is set to the highest level among the maskable interrupt request signals. The interval timer continues to operate in the HALT mode, but it stops operating in the STOP mode and the IDLE mode. Cautions 1. Once the WDTM14 bit is set to 1 (thereby selecting the watchdog timer 1 mode), the interval timer mode is not entered as long as reset is not performed. 2. When the subclock is selected for the CPU clock, the count operation of the watchdog timer 1 stops (the value of the watchdog timer is maintained). Table 12-3. Interval Time of Interval Timer
Clock fXW = 4 MHz 2 /fXW 2 /fXW 2 /fXW 2 /fXW 2 /fXW 2 /fXW 2 /fXW 2 /fXW
21 19 18 17 16 15 14 13
Interval Time fXW = 5 MHz 1.638 ms 3.277 ms 6.554 ms 13.11 ms 26.21 ms 52.43 ms 104.9 ms 419.4 ms fXW = 10 MHz 0.819 ms 1.638 ms 3.277 ms 6.554 ms 13.11 ms 26.21 ms 52.43 ms 209.7 ms
2.048 ms 4.096 ms 8.192 ms 16.38 ms 32.77 ms 65.54 ms 131.1 ms 524.3 ms
Remark
fXW = fX: Watchdog timer 1 clock frequency
418
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 12 WATCHDOG TIMER FUNCTIONS
12.2 Watchdog Timer 2
12.2.1 Functions Watchdog timer 2 has the following functions. * Default start watchdog timerNote 1 Reset mode: Reset operation upon overflow of watchdog timer 2 (generation of WDTRES2 signal) Non-maskable interrupt request mode: NMI operation upon overflow of watchdog timer 2 (generation of INTWDT2 signal)Note 2 * Input selectable from main clock and subclock as the source clock Notes 1. Watchdog timer 2 automatically starts in the reset mode following reset release. When watchdog timer 2 is not used, either stop its operation before reset is executed through this function, or clear once watchdog timer 2 and stop it within the next interval time. Also, write to the WDTM2 register for verification purposes only once, even if the default settings (reset mode, interval time: fXX/225) need not be changed. 2. For non-maskable interrupt servicing due to a non-maskable interrupt request signal (INTWDT2), refer to 21.10 Cautions. Figure 12-2. Block Diagram of Watchdog Timer 2
fXX/29
fXT
Clock input controller
2
fXX/218 to fXX/225 16-bit Selector counter or fXT/29 to fXT/216
Clear
Output controller
INTWDT2
WDTRES2 (internal reset signal)
3
3
Watchdog timer enable register (WDTE)
0
WDM21 WDM20 WDCS24 WDCS23 WDCS22 WDCS21 WDCS20
Watchdog timer mode register 2 (WDTM2)
Internal bus
Remark
fXX: fXT: INTWDT2:
Main clock frequency Subclock frequency Non-maskable interrupt request signal through watchdog timer 2
WDTRES2: Watchdog timer 2 reset signal
Preliminary User's Manual U17703EJ1V0UD
419
CHAPTER 12 WATCHDOG TIMER FUNCTIONS
12.2.2 Configuration Watchdog timer 2 includes the following hardware. Table 12-4. Configuration of Watchdog Timer 2
Item Control register Configuration Watchdog timer mode register 2 (WDTM2) Watchdog timer enable register (WDTE)
12.2.3 Registers (1) Watchdog timer mode register 2 (WDTM2) This register sets the overflow time and operation clock of watchdog timer 2. The WDTM2 register can be read or written in 8-bit units. This register can be read any number of times, but it can be written only once following reset release. Reset sets WDTM2 to 67H. Caution When the main clock is stopped and the CPU is operating on the subclock, do not access the WDTM2 register. For details, refer to 3.4.8 (1) (b).
After reset: 67H
R/W
Address: FFFFF6D0H
WDTM2
0
WDM21
WDM20 WDCS24 WDCS23 WDCS22 WDCS21 WDCS20
WDM21 0 0 1
WDM20 0 1 -
Selection of operation mode of watchdog timer 2 Stops operation Non-maskable interrupt request mode (generation of INTWDT2) Reset mode (generation of WDTRES2)
Cautions 1. To stop the operation of watchdog timer 2, write "1FH" to the WDTM2 register. 2. For details about bits WDCS0 to WDCS4, refer to Table 12-5 Watchdog Timer 2 Clock Selection. 3. If the WDTM2 register is written twice after a reset, an overflow signal is forcibly output. 4. To intentionally generate an overflow signal, write data to the WDTM2 register only twice, or write a value other than "ACH" to the WDTE register only once.
420
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 12 WATCHDOG TIMER FUNCTIONS
Table 12-5. Watchdog Timer 2 Clock Selection
WDCS24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 WDCS23 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 x WDCS22 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 x WDCS21 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 x WDCS20 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 x Selected Clock 2 /fXX 2 /fXX 2 /fXX 2 /fXX 2 /fXX 2 /fXX 2 /fXX 2 /fXX 2 /fXT 2 /fXT 2 /fXT 2 /fXT 2 /fXT 2 /fXT 2 /fXT 2 /fXT
16 15 14 13 12 11 10 9 25 24 23 22 21 20 19 18
fXX = 20 MHz 13.1 ms 26.2 ms 52.4 ms 104.9 ms 209.7 ms 419.4 ms 838.9 ms 1677.7 ms
fXX = 16 MHz 16.4 ms 32.8 ms 65.5 ms 131.1 ms 262.1 ms 524.3 ms 1048.6 ms 2097.2 ms
fXX = 10 MHz 26.2 ms 52.4 ms 104.9 ms 209.7 ms 419.4 ms 838.9 ms 1677.7 ms 3355.4 ms
15.625 ms (fXT = 32.768 kHz) 31.25 ms (fXT = 32.768 kHz) 62.5 ms (fXT = 32.768 kHz) 125 ms (fXT = 32.768 kHz) 250 ms (fXT = 32.768 kHz) 500 ms (fXT = 32.768 kHz) 1000 ms (fXT = 32.768 kHz) 2000 ms (fXT = 32.768 kHz)
Operation stopped
(2) Watchdog timer enable register (WDTE) The counter of watchdog timer 2 is cleared and counting restarted by writing "ACH" to the WDTE register. The WDTE register can be read or written in 8-bit units. Reset sets WDTE to 9AH.
After reset: 9AH
R/W
Address: FFFFF6D1H
WDTE
Cautions 1. When a value other than "ACH" is written to the WDTE register, an overflow signal is forcibly output. 2. When a 1-bit memory manipulation instruction is executed for the WDTE register, an overflow signal is forcibly output. 3. The read value of the WDTE register is always "9AH" (value that differs from written value "ACH"). 4. To intentionally generate an overflow signal, write a value other than "ACH" to the WDTE register only once, or write data to the WDTM2 register only twice.
Preliminary User's Manual U17703EJ1V0UD
421
CHAPTER 12 WATCHDOG TIMER FUNCTIONS
12.2.4 Operation Watchdog timer 2 automatically starts in the reset mode following reset release. The WDTM2 register can be written to only once following reset through byte access. To use watchdog timer 2, write the operation mode and the interval time to the WDTM2 register using 8-bit memory manipulation instructions. After this is done, the operation of watchdog timer 2 cannot be stopped. The watchdog timer 2 program loop detection time interval can be selected by the WDTM2.WDCS24 to WDTM2.WDCS20 bits. Writing ACH to the WDTE register clears the counter of watchdog timer 2 and starts the count operation again. After the count operation starts, write ACH to the WDTE register within the set program loop detection time interval. If the program loop detection time is exceeded without ACH being written to the WDTE register, a reset signal (WDTRES2) or non-maskable interrupt request signal (INTWDT2) is generated depending on the set value of the WDTM2.WDM21 and WDTM2.WDM20 bits. To not use watchdog timer 2, write 1FH to the WDTM2 register. For non-maskable interrupt servicing when the non-maskable interrupt request mode is set, refer to 21.10 Cautions. If the main clock is selected as the source clock of watchdog timer 2, the watchdog timer stops operation in the IDLE/STOP mode. Therefore, clear watchdog timer 2 by writing ACH to the WDTE register before the IDLE/STOP mode is set. Because watchdog timer 2 operates in the HALT mode or when the subclock is selected as its source clock in the IDLE/STOP mode, exercise care that the timer does not overflow in the HALT mode.
422
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
13.1 Function
The real-time output function (RTO) transfers preset data to the RTBL0 and RTBH0 registers, and then transfers this data with hardware to an external device via the real-time output latches, upon occurrence of a timer interrupt. The pins through which the data is output to an external device constitute a port called a real-time output port. Because RTO can output signal without jitter, it is suitable for controlling a stepping motor. In the V850ES/KG2, a 6-bit real-time output port channel is provided. The real-time output port can be set in the port mode or real-time output port mode in 1-bit units. The block diagram of RTO is shown below. Figure 13-1. Block Diagram of RTO
Internal bus
Real-time buffer register 0H (RTBH0)
Real-time output latch 0H
2 RTPOUT04, RTPOUT05
Real-time buffer register 0L (RTBL0)
Real-time output latch 0L
4 RTPOUT00 to RTPOUT03
INTTM000
Transfer trigger (H)
INTTM50 INTTM51
Selector Transfer trigger (L)
2 4
RTPOE0 RTPEG0 BYTE0
EXTR0
RTPM05 RTPM04 RTPM03 RTPM02 RTPM01 RTPM00
Real-time output port control register 0 (RTPC0)
Real-time output port mode register 0 (RTPM0)
Preliminary User's Manual U17703EJ1V0UD
423
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
13.2 Configuration
RTO includes the following hardware. Table 13-1. Configuration of RTO
Item Registers Control registers Configuration Real-time output buffer register 0 (RTBL0, RTBH0) Real-time output port mode register 0 (RTPM0) Real-time output port control register 0 (RTPC0)
(1) Real-time output buffer register 0 (RTBL0, RTBH0) RTBL0 and RTBH0 are 4-bit registers that hold output data in advance. These registers are mapped to independent addresses in the peripheral I/O register area. They can be read or written in 8-bit or 1-bit units. If an operation mode of 4 bits x 1 channel or 2 bits x 1 channel is specified (RTPC0.BYTE0 bit = 0), data can be individually set to the RTBL0 and RTBH0 registers. The data of both these registers can be read at once by specifying the address of either of these registers. If an operation mode of 6 bits x 1 channel is specified (BYTE0 bit = 1), 8-bit data can be set to both the RTBL0 and RTBH0 registers by writing the data to either of these registers. Moreover, the data of both these registers can be read at once by specifying the address of either of these registers. Table 13-2 shows the operation when the RTBL0 and RTBH0 registers are manipulated.
After reset: 00H
R/W
Address: RTBL0 FFFFF6E0H, RTBH0 FFFFF6E2H
RTBL0 RTBH0 0 0 RTBH05 RTBH04
RTBL03
RTBL02
RTBL01
RTBL00
Cautions 1. When writing to bits 6 and 7 of the RTBH0 register, always write 0. 2. When the main clock is stopped and the CPU is operating on the subclock, do not access the RTBL0 and RTBH0 registers using an access method that causes a wait. For details, refer to 3.4.8 (1) (b).
424
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
Table 13-2. Operation During Manipulation of RTBL0 and RTBH0 Registers
Operation Mode Register to Be Manipulated 4 bits x 1 channel, 2 bits x 1 channel 6 bits x 1 channel RTBL0 RTBH0 RTBL0 RTBH0 Higher 4 bits RTBH0 RTBH0 RTBH0 RTBH0 Read Lower 4 bits RTBL0 RTBL0 RTBL0 RTBL0 Write Higher 4 bits Invalid RTBH0 RTBH0 RTBH0
Note
Lower 4 bits RTBL0 Invalid RTBL0 RTBL0
Note After setting the real-time output port, set output data to the RTBL0 and RTBH0 registers by the time a realtime output trigger is generated.
13.3 Registers
RTO is controlled using the following two types of registers. * Real-time output port mode register 0 (RTPM0) * Real-time output port control register 0 (RTPC0) (1) Real-time output port mode register 0 (RTPM0) This register selects the real-time output port mode or port mode in 1-bit units. The RTPM0 register can be read or written in 8-bit or 1-bit units. Reset sets RTPM0 to 00H.
After reset: 00H
R/W
Address: FFFFF6E4H
RTPM0
0
0
RTPM05 RTPM04 RTPM03 RTPM02 RTPM01 RTPM00
RTPM0m 0 1
Control of real-time output port (m = 0 to 5) Real-time output disabled Real-time output enabled
Cautions 1. To reflect real-time output signals (RTPOUT00 to RTPOUT05) to the pins (RTP00 to RTP05), set them to the real-time output port with the PMC5 and PFC5 registers. 2. By enabling real-time output operation (RTPC0.RTPOE0 bit = 1), the bits specified as real-time output enabled perform real-time output, and the bits specified as real-time output disabled output 0. 3. If real-time output is disabled (RTPOE0 bit = 0), real-time output signals (RTPOUT00 to RTPOUT05) all output 0, regardless of the RTPM0 register setting.
Preliminary User's Manual U17703EJ1V0UD
425
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
(2) Real-time output port control register 0 (RTPC0) This register sets the operation mode and output trigger of the real-time output port. The relationship between the operation mode and output trigger of the real-time output port is as shown in Table 13-3. The RTPC0 register can be read or written in 8-bit or 1-bit units. Reset sets RTPC0 to 00H.
After reset: 00H <> RTPC0
R/W
Address: FFFFF6E5H
RTPOE0 RTPEG0
BYTE0 EXTR0Note 1
0
0
0
0
RTPOE0 0 1
Control of real-time output operation Disables operationNote 2 Enables operation
RTPEG0 0 1 Falling edge Rising edge
Note 3
Valid edge of INTTM000 signal
BYTE0 0 1
Specification of channel configuration for real-time output 4 bits x 1 channel, 2 bits x 1 channel 6 bits x 1 channel
Notes 1. For the EXTR0 bit, refer to Table 13-3. 2. When real-time output operation is disabled (RTPOE0 bit = 0), real-time output signals (RTPOUT00 to RTPOUT05) all output 0. 3. The INTTM000 signal is output for 1 clock of the count clock selected with 16-bit timer/event counter 00. Caution Perform the settings for the RTPEG0, BYTE0, and EXTR0 bits only when the RTPOE0 bit = 0.
Table 13-3. Operation Modes and Output Triggers of Real-Time Output Port
BYTE0 0 EXTR0 0 1 1 0 1 Operation Mode 4 bits x 1 channel, 2 bits x 1 channel 6 bits x 1 channel RTBH0 (RTP04, RTP05) INTTM51 INTTM50 INTTM50 INTTM000 RTBL0 (RTP00 to RTP03) INTTM50 INTTM000
426
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
13.4 Operation
If the real-time output operation is enabled by setting the RTPC0.RTPOE0 bit to 1, the data of the RTBH0 and RTBL0 registers is transferred to the real-time output latch in synchronization with the generation of the selected transfer trigger (set by the RTPC0.EXTR0 and RTPC0.BYTE0 bits). Of the transferred data, only the data of the bits specified as real-time output enabled by the RTPM0 register is output from bits RTPOUT00 to RTPOUT05. The bits specified as real-time output disabled by the RTPM0 register output 0. If the real-time output operation is disabled by clearing the RTPOE0 bit to 0, the RTPOUT00 to RTPOUT05 signals output 0 regardless of the setting of the RTPM0 register. Figure 13-2. Example of Operation Timing of RTO0 (When EXTR0 and BYTE0 Bits = 00)
INTTM51 (internal)
INTTM50 (internal)
CPU operation
A
B
A
B
A
B
A
B
RTBH0 D01
D02
D03
D04
RTBL0
D11
D12
D13
D14
RT output latch 0 (H)
D01
D02
D03
D04
RT output latch 0 (L)
D11
D12
D13
D14
A: Software processing by INTTM51 interrupt request signal (write to RTBH0 register) B: Software processing by INTTM50 interrupt request signal (write to RTBL0 register)
Remark
For the operation during standby, refer to CHAPTER 23 STANDBY FUNCTION.
Preliminary User's Manual U17703EJ1V0UD
427
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
13.5 Usage
(1) Disable real-time output. Clear the RTPC0.RTPOE0 bit to 0. (2) Perform initialization as follows. * Specify the real-time output port mode or port mode in 1-bit units. Set the RTPM0 register. * Channel configuration: Select the trigger and valid edge. Set the RTPC0.EXTR0, RTPC0.BYTE0, and RTPC0.RTPEG0 bits. * Set the initial values to the RTBH0 and RTBL0 registersNote 1. (3) Enable real-time output. Set the RTPOE0 bit to 1. (4) Set the next output value to the RTBH0 and RTBL0 registers by the time the selected transfer trigger is generatedNote 2. (5) Set the next real-time output value to the RTBH0 and RTBL0 registers through interrupt servicing corresponding to the selected trigger. Notes 1. If write to the RTBH0 and RTBL0 registers is performed when the RTPOE0 bit = 0, that value is transferred to real-time output latches 0H and 0L, respectively. 2. Even if write is performed to the RTBH0 and RTBL0 registers when the RTPOE0 bit = 1, data transfer to real-time output latches 0H and 0L is not performed. Caution To reflect the real-time output signals (RTPOUT00 to RTPOUT05) to the pins, set the real-time output ports (RTP00 to RTP05) with the PMC5 and PFC5 registers.
13.6 Cautions
(1) Prevent the following conflicts by software. * Conflict between real-time output disable/enable switching (RTPOE0 bit) and selected real-time output trigger * Conflict between write to the RTBH0 and RTBL0 registers in the real-time output enabled status and the selected real-time output trigger. (2) Before performing initialization, disable real-time output (RTPOE0 bit = 0). (3) Once real-time output has been disabled (RTPOE0 bit = 0), be sure to initialize the RTBH0 and RTBL0 registers before enabling real-time output again (RTPOE0 bit = 0 1).
428
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
13.7 Security Function
A circuit that sets the pin outputs to high impedance as a security function for when malfunctions of a stepping motor controlled by RTO occur is provided on chip. It forcibly resets the pins allocated to RTP00 to RTP05 via external interrupt INTP0 pin edge detection, placing them in the high-impedance state. The ports (P50 to P55 pins) placed in high impedance by INTP0Note 1 pin are initializedNote 2, so settings for these ports must be performed again. Notes 1. Regardless of the port settings, P50 to P55 pins are all placed in high impedance via the INTP0 pin. 2. The bits that are initialized are all the bits corresponding to P50 to P55 pins of the following registers. * P5 register * PM5 register * PMC5 register * PU5 register * PFC5 register * PF5 register The block diagram of the security function is shown below. Figure 13-3. Block Diagram of Security Function
INTP0
Edge detection
INTC EVDD
R RTOST0 RTPOUT00 to RTPOUT05 RTP00 to RTP05
6
This function is set with the PLLCTL.RTOST0 bit.
Preliminary User's Manual U17703EJ1V0UD
429
CHAPTER 13 REAL-TIME OUTPUT FUNCTION (RTO)
(1) PLL control register (PLLCTL) The PLLCTL register is an 8-bit register that controls the RTO security function and PLL. This register can be read or written in 8-bit or 1-bit units. Reset sets PLLCTL to 01H.
After reset: 01H
R/W
Address: FFFFF806H <> <>
Note
<> PLLONNote
PLLCTL
0
0
0
0
0
RTOST0 SELPLL
RTOST0 0 1
Control of RTP00 to RTP05 security function INTP0 pin is not used as trigger for security function INTP0 pin is used as trigger for security function
Note For details on the SELPLL and PLLON bits, refer to CHAPTER 6 CLOCK GENERATION FUNCTION. Cautions 1. Before outputting a value to the real-time output ports (RTP00 to RTP05), select the INTP0 pin interrupt edge detection and then set the RTOST0 bit. 2. To set again the ports (P50 to P55 pins) as real-time output ports after placing them in high impedance via the INTP0 pin, first cancel the security function. [Procedure to set ports again] <1> Cancel the security function and enable port setting by clearing the RTOST0 bit to 0. <2> Set the RTOST0 bit to 1 (only if required) <3> Set again as real-time output port. 3. Be sure to clear bits 4 to 7 to "0". operation. Changing bit 3 does not affect the
430
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
14.1 Overview
The A/D converter converts analog input signals into digital values and has an 8-channel (ANI0 to ANI7) configuration. The A/D converter has the following functions.
Operating voltage (AVREF0): 2.7 to 5.5 V Analog input pin: 8 Trigger mode:
Successive approximation method 10-bit A/D converter
* Software trigger mode * Timer trigger mode (INTTM010) * External trigger mode (ADTRG pin)
Operation mode
* Select mode * Scan mode
A/D conversion time:
* Normal mode: 14 to 100 s @ 4.0 V AVREF0 5.5 V 17 to 100 s @ 2.7 V AVREF0 < 4.0 V * High-speed mode: 3 to 100 s @ 4.5 V AVREF0 5.5 V 4.8 to 100 s @ 4.0 V AVREF0 < 4.5 V 6 to 100 s @ 2.85 V AVREF0 < 4.0 V 14 to 100 s @ 2.7 V AVREF0 < 2.85 V
Power fail detection function
Caution When using the A/D converter, operate with AVREF0 at the same potential as VDD and EVDD.
14.2 Functions
(1) 10-bit resolution A/D conversion 1 analog input channel is selected from the ANI0 to ANI7 pins, and an A/D conversion operation with resolution of 10 bits is repeatedly executed. Every time A/D conversion is completed, an interrupt request signal (INTAD) is generated. (2) Power fail detection function This is a function to detect low voltage in a battery. The results of A/D conversion (the value in the ADCRH register) and the PFT register are compared, and INTAD signal is generated only when the comparison conditions match.
Preliminary User's Manual U17703EJ1V0UD
431
CHAPTER 14 A/D CONVERTER
14.3 Configuration
The A/D converter includes the following hardware. Figure 14-1. Block Diagram of A/D Converter
AVREF0 ANI0 ANI1 ANI2 Sample & hold circuit ADCS bit
ANI4 ANI5 ANI6 ANI7
Selector
ANI3
AVSS
Tap selector
Voltage comparator
AVSS SAR register
Selector
INTTM010 ADTRG Edge detector
INTAD Controller Comparator 3 ADCR/ADCRH register PFT register
EGA1 EGA0 TRG ADTMD ADS2 ADS1 ADS0 ADCS ADMD FR2 FR1 FR0 ADHS1 ADHS0 ADCS2 ADS register ADM register Internal bus
PFEN PFCM PFM register
Table 14-1. Registers of A/D Converter Used by Software
Item Registers Configuration A/D conversion result register (ADCR) A/D conversion result register H (ADCRH): Only higher 8 bits can be read Power fail comparison threshold register (PFT) A/D converter mode register (ADM) Analog input channel specification register (ADS) Power fail comparison mode register (PFM)
432
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
(1) ANI0 to ANI7 pins These are analog input pins for the 8 channels of the A/D converter. They are used to input analog signals to be converted into digital signals. Pins other than those selected as analog input by the ADS register can be used as input ports. (2) Sample & hold circuit The sample & hold circuit samples the analog input signals selected by the input circuit and sends the sampled data to the voltage comparator. This circuit holds the sampled analog input voltage during A/D conversion. (3) Series resistor string The series resistor string is connected between AVREF0 and AVSS and generates a voltage for comparison with the analog input signal. (4) Voltage comparator The voltage comparator compares the value that is sampled and held with the output voltage of the series resistor string. (5) Successive approximation register (SAR) This register compares the sampled analog voltage value with the voltage value from the series resistor string, and converts the comparison result starting from the most significant bit (MSB). When the least significant bit (LSB) has been converted to a digital value (end of A/D conversion), the contents of the SAR register are transferred to the ADCR register. The SAR register cannot be read or written directly. (6) A/D conversion result register (ADCR), A/D conversion result register H (ADCRH) Each time A/D conversion ends, the conversion results are loaded from the successive approximation register and the results of A/D conversion are held in the higher 10 bits of this register (the lower 6 bits are fixed to 0). (7) Controller The controller compares the A/D conversion results (the value of the ADCRH register) with the value of the PFT register when A/D conversion ends or the power fail detection function is used. It generates INTAD signal only when the comparison conditions match. (8) AVREF0 pin This is the analog power supply pin/reference voltage input pin of the A/D converter. Always use the same potential as the VDD pin even when not using the A/D converter. The signals input to the ANI0 to ANI7 pins are converted into digital signals based on the voltage applied across AVREF0 and AVSS. (9) AVSS pin This is the ground potential pin of the A/D converter. Always use the same potential as the VSS pin even when not using the A/D converter.
Preliminary User's Manual U17703EJ1V0UD
433
CHAPTER 14 A/D CONVERTER
(10) A/D converter mode register (ADM) This register sets the conversion time of the analog input to be converted to a digital signal and the conversion operation start/stop. (11) Analog input channel specification register (ADS) This register specifies the input port for the analog voltage to be converted to a digital signal. (12) Power fail comparison mode register (PFM) This register sets the power fail detection mode. (13) Power fail comparison threshold register (PFT) This register sets the threshold to be compared with the ADCR register.
14.4 Registers
The A/D converter is controlled by the following registers. * A/D converter mode register (ADM) * Analog input channel specification register (ADS) * Power fail comparison mode register (PFM) * Power fail comparison threshold register (PFT) * A/D conversion result register, A/D conversion result register H (ADCR, ADCRH)
434
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
(1) A/D converter mode register (ADM) This register sets the conversion time of the analog input signal to be converted into a digital signal as well as conversion start and stop. The ADM register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H.
After reset: 00H <> ADM ADCS
R/W
Address: FFFFF200H <>
ADMD
FR2
Note 1
FR1
Note 1
FR0
Note 1
ADHS1
Note 1
ADHS0
Note 1
ADCS2
ADCS 0 1
Control of A/D conversion operation Conversion operation stopped Conversion operation enabled
ADMD 0 1 Select mode Scan mode
Control of operation mode
ADHS1 0 1
Selection of 5 V A/D conversion time mode (AVREF0 4.5 V) Normal mode High-speed mode (valid only when AVREF0 4.5 V) Selection of 3 V A/D conversion time mode (AVREF0 2.7 or 2.85 V) Normal mode High-speed mode (valid only when AVREF0 2.7 or 2.85 V)
ADHS0 0 1
ADCS2 0 1
Control of reference voltage generator for boostingNote 2 Reference voltage generator operation stopped Reference voltage generator operation enabled
Notes 1. For details of the FR2 to FR0 bits and the A/D conversion, refer to Table 14-2 A/D Conversion Time. 2. The operation of the reference voltage generator for boosting is controlled by the ADCS bit and it takes 1 s (high-speed mode) or 14 s (normal mode) after operation is started until it is stabilized. Therefore, the ADCS2 bit is set to 1 (A/D conversion is started) at least 1 s (high-speed mode) or 14 s (normal mode) after if the ADCS2 bit was set to 1 (reference voltage generator for boosting is on), the first conversion result is valid. Cautions 1. Changing bits FR2 to FR0, ADHS1, and ADHS0 while the ADCS bit = 1 is prohibited (write access to the ADM register is enabled and rewriting of bits FR2 to FR0, ADHS1, and ADHS0 is prohibited). 2. Setting ADHS1 and ADHS0 bits to 11 is prohibited. 3. Do not access the ADM register when the main clock is stopped and the subclock is operating. register. For details, refer to 3.4.8 (1) (b) Access to special on-chip peripheral I/O
Preliminary User's Manual U17703EJ1V0UD
435
CHAPTER 14 A/D CONVERTER
Table 14-2. A/D Conversion Time
ADHS1 ADHS0 FR2 FR1 FR0 20 MHz@ A/D Conversion Time (s) 16 MHz@ 8 MHz@ 8 MHz@ AVREF0 4.5 V AVREF0 4.0 V AVREF0 2.85 V AVREF0 2.7 V 0 0 0 0 0 0 0 0 0 1 288/fXX 14.4 240/fXX Setting prohibited 0 0 0 1 0 192/fXX Setting prohibited Setting prohibited 144/fXX Setting prohibited 120/fXX Setting prohibited 0 0 1 1 0 96/fXX Setting prohibited 0 0 0 1 1 0 1 0 1 0 Setting prohibited 96/fXX 4.8 6.0 12.0 Setting prohibited 0 1 0 0 1 72/fXX Setting prohibited 0 1 0 1 0 48/fXX Setting prohibited 0 1 0 1 1 24/fXX Setting prohibited 0 0 1 1 1 1 0 0 0 1 224/fXX 11.2 168/fXX Setting prohibited 0 1 1 1 0 112/fXX Setting prohibited 0 1 1 1 1 56/fXX Setting prohibited 1 0 0 0 0 72/fXX 3.6 Setting prohibited Setting prohibited Setting prohibited 1 0 0 0 1 54/fXX Setting prohibited 1 0 0 1 0 36/fXX Setting prohibited 1 0 0 1 x x 1 x x 18/fXX Setting prohibited 1 1 0 1 1 x Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited High-speed mode AVREF0 4.5 V Setting prohibited Setting prohibited Setting prohibited 14.0 10.5 Setting prohibited 28.0 21.0 6.0 9.0 Setting prohibited Setting prohibited Setting prohibited 28.0 21.0 High-speed mode AVREF0 2.7 V High-speed mode AVREF0 2.85 V Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited Setting prohibited 18.0 18.0 Normal mode AVREF0 2.7 V Setting prohibited 24.0 24.0 18.0 15.0 36.0 30.0 36.0 30.0 Normal mode AVREF0 2.7 V Conversion Time Mode
0 0
0 0
0 1
1 0
1 0
0
0
1
0
1
Remark
fXX: Main clock frequency
436
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
(a) Controlling reference voltage generator for boosting When the ADCS2 bit = 0, power to the A/D converter drops. The converter requires a setup time of 1 s (high-speed mode) or 14 s (normal mode) or more after the ADCS2 bit has been set to 1. Therefore, the result of A/D conversion becomes valid from the first result by setting the ADCS bit to 1 at least 1 s (high-speed mode) or 14 s (normal mode) after the ADCS2 bit has been set to 1. Table 14-3. Setting of ADCS Bit and ADCS2 Bit
ADCS 0 0 1 1 ADCS2 0 1 0 1 A/D Conversion Operation Stopped status (DC power consumption path does not exist) Conversion standby mode (only the reference voltage generator for boosting consumes power) Conversion mode (reference voltage generator stops operation Conversion mode (reference voltage generator is operating
Note 2 Note 1
)
)
Notes 1. If the ADCS and ADCS2 bits are changed from 00B to 10B, the reference voltage generator for boosting automatically turns on. If the ADCS bit is cleared to 0 while the ADCS2 bit is 0, the voltage generator automatically turns off. In the software trigger mode (ADS.TRG bit = 0), use of the first A/D conversion result is prohibited. In the hardware trigger mode (TRG bit = 1), use the A/D conversion result only if A/D conversion is started after the lapse of the oscillation stabilization time of the reference voltage generator for boosting. 2. If the ADCS and ADCS2 bits are changed from 00B to 11B, the reference voltage generator for boosting automatically turns on. If the ADCS bit is cleared to 0 while the ADCS2 bit is 1, the voltage generator stays on. In the software trigger mode (TRG bit = 0), use of the first A/D conversion result is prohibited. In the hardware trigger mode (TRG bit = 1), use the A/D conversion result only if A/D conversion is started after the lapse of the oscillation stabilization time of the reference voltage generator for boosting. Figure 14-2. Operation Sequence
Reference voltage generator for boosting: Operating ADCS2
Comparator control Conversion operation ADCS Conversion standby Conversion operation Conversion stop
Note
Note 1 s (high-speed mode) or 14 s (normal mode) or more are required for the operation of the reference voltage generator for boosting between when the ADCS2 bit is set (1) and when the ADCS bit is set (1).
Preliminary User's Manual U17703EJ1V0UD
437
CHAPTER 14 A/D CONVERTER
(2) Analog input channel specification register (ADS) This register specifies the analog voltage input port for A/D conversion. The ADS register can be read or written in 8-bit or 1-bit units. Reset sets ADS to 00H.
After reset: 00H
R/W
Address: FFFFF201H
ADS
EGA1Note 1 EGA0Note 1
TRG
ADTMDNote 2
0
ADS2
ADS1
ADS0
EGA1Note 1 EGA0Note 1 0 0 1 1 TRG 0 1 ADTMDNote 2 0 1 ADS2 0 1 0 1
Specification of external trigger signal (ADTRG) edge No edge detection Falling edge Rising edge Both rising and falling edges Trigger mode selection
Software trigger mode Hardware trigger mode Specification of hardware trigger mode External trigger (ADTRG pin input) Timer trigger (INTTM010 signal generated) ADS1 ADS0 Specification of analog input channel Select mode Scan mode ANI0 ANI0, ANI1 ANI0 to ANI2 ANI0 to ANI3 ANI0 to ANI4 ANI0 to ANI5 ANI0 to ANI6 ANI0 to ANI7
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
ANI0 ANI1 ANI2 ANI3 ANI4 ANI5 ANI6 ANI7
Notes 1. The EGA1 and EGA0 bits are valid only when the hardware trigger mode (TRG bit = 1) and external trigger mode (ADTRG pin input: ADTMD bit = 1) are selected. 2. The ADTMD bit is valid only when the hardware trigger mode (TRG bit = 1) is selected. Cautions 1. Do not access the ADS register when the main clock is stopped and the subclock is operating. register. 2. Be sure to clear bit 3 to "0". For details, refer to 3.4.8 (1) (b) Access to special on-chip peripheral I/O
438
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
(3) A/D conversion result register, A/D conversion result register H (ADCR, ADCRH) The ADCR and ADCRH registers store the A/D conversion results. These registers are read-only in 16-bit or 8-bit units. However, specify the ADCR register for 16-bit access, and the ADCRH register for 8-bit access. In the ADCR register, the 10 bits of conversion results are read in the higher 10 bits and 0 is read in the lower 6 bits. In the ADCRH register, the higher 8 bits of the conversion results are read. Reset makes these registers undefined.
After reset: Undefined
R
Address: FFFFF204H
ADCR
AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0
0
0
0
0
0
0
After reset: Undefined 7 ADCRH AD9 6 AD8
R
Address: FFFFF205H 5 AD7 4 AD6 3 AD5 2 AD4 1 AD3 0 AD2
Caution Do not access the ADCR and ADCRH registers when the main clock is stopped and the subclock is operating. For details, refer to 3.4.8 (1) (b) Access to special on-chip peripheral I/O register.
Preliminary User's Manual U17703EJ1V0UD
439
CHAPTER 14 A/D CONVERTER
The following shows the relationship between the analog input voltage input to the analog input pins (ANI0 to ANI7) and A/D conversion results (ADCR register). SAR = INT ( VIN AVREF0 x 1024 + 0.5)
ADCRNote = SAR x 64 Or, (SAR - 0.5) x INT ( ): VIN: AVREF0: ADCR: AVREF0 1024 VIN < (SAR + 0.5) x AVREF0 1024
Function that returns the integer part of the value in parentheses Analog input voltage Voltage of AVREF0 pin Value in the ADCR register
Note The lower 6 bits of the ADCR register are fixed to 0. The following shows the relationship between the analog input voltage and A/D conversion results. Figure 14-3. Relationship Between Analog Input Voltage and A/D Conversion Results
SAR
ADCR
1023
FFC0H
1022
FF80H
A/D conversion results
1021
FF40H
3
00C0H
2
0080H
1
0040H
0
0000H 1 1 3 2 5 3 2048 1024 2048 1024 2048 1024 2043 1022 2045 1023 2047 1 2048 1024 2048 1024 2048
Input voltage/AVREF0
440
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
(4) Power fail comparison mode register (PFM) This register sets the power fail detection mode. The PFM register compares the value in the PFT register with the value of the ADCRH register. The PFM register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H.
After reset: 00H <> PFM PFEN
R/W <> PFCM
Address: FFFFF202H
0
0
0
0
0
0
PFEN 0 1
Selection of power fail comparison enable/disable Power fail comparison disabled Power fail comparison enabled
PFCM 0 1
Selection of power fail comparison mode Interrupt request signal (INTAD) generated when ADCR PFT Interrupt request signal (INTAD) generated when ADCR < PFT
Caution Do not access the PFM register when the main clock is stopped and the subclock is operating. For details, refer to 3.4.8 (1) (b) Access to special on-chip peripheral I/O register.
(5) Power fail comparison threshold register (PFT) The PFT register sets the comparison value in the power fail detection mode. The 8-bit data set in the PFT register is compared with the value of the ADCRH register. The PFT register can be read or written in 8-bit units. Reset sets this register to 00H.
After reset: 00H 7 PFT
R/W 6
Address: FFFFF203H 5 4 3 2 1 0
Caution Do not access the PFT register when the main clock is stopped and the subclock is operating. For details, refer to 3.4.8 (1) (b) Access to special on-chip peripheral I/O register.
Preliminary User's Manual U17703EJ1V0UD
441
CHAPTER 14 A/D CONVERTER
14.5 Operation
14.5.1 Basic operation <1> Select the channel whose analog signal is to be converted into a digital signal using the ADS register. Set the ADM.ADHS1 or ADM.ADHS0 bit. <2> Set the ADM.ADCS2 bit to 1 and wait 1 s (high-speed mode) or 14 s (normal mode) or longer. <3> Set the ADM.ADCS bit to 1 to start A/D conversion. (Steps <4> to <10> are executed by hardware.) <4> The sample & hold circuit samples the voltage input to the selected analog input channel. <5> After sampling for a specific time, the sample & hold circuit enters the hold status and holds the input analog voltage until it has been converted into a digital signal. <6> Set bit 9 of the successive approximation register (SAR) to 1. The tap selector sets the voltage tap of the series resistor string to (1/2) x AVREF0. <7> The voltage comparator compares the voltage difference between the voltage tap of the series resistor string and the analog input voltage. If the analog input voltage is greater than (1/2) x AVREF0, the MSB of the SAR register remains set to 1. If the analog input voltage is less than (1/2) x AVREF0, the MSB is cleared to 0. <8> Next, bit 8 of the SAR register is automatically set to 1 and the next comparison starts. Depending on the previously determined value of bit 9, the voltage tap of the series resistor string is selected as follows. * Bit 9 = 1: (3/4) x AVREF0 * Bit 9 = 0: (1/4) x AVREF0 The analog input voltage is compared with one of these voltage taps and bit 8 of the SAR register is manipulated as follows depending on the result of the comparison. Analog input voltage voltage tap: Bit 8 = 1 Analog input voltage voltage tap: Bit 8 = 0 <9> The above steps are repeated until bit 0 of the SAR register has been manipulated. <10> When comparison of all 10 bits of the SAR register has been completed, the valid digital value remains in the SAR register, and the value of the SAR register is transferred and latched to the ADCR register. At the same time, an A/D conversion end interrupt request signal (INTAD) is generated. <11> Repeat steps <4> to <10> until the ADCS bit is cleared to 0. For another A/D conversion, start at <3>. However, when operating the A/D converter with the ADCS2 bit cleared to 0, start at <2>.
442
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
14.5.2 Trigger modes The V850ES/KG2 has the following three trigger modes that set the A/D conversion start timing. These trigger modes are set by the ADS register. * Software trigger mode * External trigger mode (hardware trigger mode) * Timer trigger mode (hardware trigger mode) (1) Software trigger mode This mode is used to start A/D conversion by setting the ADM.ADCS bit to 1 while the ADS.TRG bit is 0. Conversion is repeatedly performed as long as the ADCS bit is not cleared to 0 after completion of A/D conversion. If the ADM, ADS, PFM, or PFT register is written during conversion, A/D conversion is aborted and started again from the beginning. (2) External trigger mode (hardware trigger mode) This is the status in which the ADS.TRG bit is set to 1 and ADS.ADTMD bit is cleared to 0. This mode is used to start A/D conversion by detecting an external trigger (ADTRG) after the ADCS bit has been set to 1. The A/D converter waits for the external trigger (ADTRG) after the ADCS bit is set to 1. The valid edge of the signal input to the ADTRG pin is specified by using the ADS.EGA1 and ADS.EGA0 bits. When the specified valid edge is detected, A/D conversion is started. When A/D conversion is completed, the A/D converter waits for the external trigger (ADTRG) again. If a valid edge is input to the ADTRG pin during A/D conversion, A/D conversion is aborted and started again from the beginning. If the ADM, ADS, PFM, or PFT register is written during conversion, A/D conversion is aborted and the A/D converter waits for an external trigger (ADTRG). (3) Timer trigger mode (hardware trigger mode) This mode is used to start A/D conversion by detecting a timer trigger (INTTM010) after the ADCS bit has been set to 1 with the TGR bit = 1 and ADTMD bit = 1. The A/D converter waits for the timer trigger (INTTM010) after the ADCS bit is set to 1. When the INTTM010 signal is generated, A/D conversion is started. When A/D conversion is completed, the A/D converter waits for the timer trigger (INTTM010) again. If the INTTM010 signal is generated during A/D conversion, A/D conversion is aborted and started again from the beginning. If the ADM, ADS, PFM, or PFT register is written during conversion, A/D conversion is aborted and the A/D converter waits for a timer trigger (INTTM010).
Preliminary User's Manual U17703EJ1V0UD
443
CHAPTER 14 A/D CONVERTER
14.5.3 Operation modes The following two operation modes are available. These operation modes are set by the ADM register. * Select mode * Scan mode (1) Select mode One input analog signal specified by the ADS register while the ADM.ADMD bit = 0 is converted. When conversion is complete, the result of conversion is stored in the ADCR register. At the same time, the A/D conversion end interrupt request signal (INTAD) is generated. However, the INTAD signal may or may not be generated depending on setting of the PFM and PFT registers. For details, refer to 14.5.4 Power fail detection function. If anything is written to the ADM, ADS, PFM, and PFT registers during conversion, A/D conversion is aborted. In the software trigger mode, A/D conversion is started from the beginning again. In the hardware trigger mode, the A/D converter waits for a trigger. If the trigger is detected during conversion in hardware trigger mode, A/D conversion is aborted and started again from the beginning. Figure 14-4. Example of Select Mode Operation Timing (ADS.ADS2 to ADS.ADS0 Bits = 001B)
ANI1 Data 1 Data 2
A/D conversion
Data 1 (ANI1)
Data 2 (ANI1)
ADCR
Data 1 (ANI1)
Data 2 (ANI1)
INTAD
Conversion end Conversion start Set ADCS bit = 1
Conversion end Conversion start Set ADCS bit = 1
444
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
(2) Scan mode In this mode, the analog signals specified by the ADS register and input from the ANI0 pin while the ADM.ADMD bit = 1 are sequentially selected and converted. When conversion of one analog input signal is complete, the conversion result is stored in the ADCR register and, at the same time, the A/D conversion end interrupt request signal (INTAD) is generated. The A/D conversion results of all the analog input signals are stored in the ADCR register. It is therefore recommended to save the contents of the ADCR register to RAM once A/D conversion of one analog input signal has been completed. In the hardware trigger mode (ADS.TRG bit = 1), the A/D converter waits for a trigger after it has completed A/D conversion of the analog signals specified by the ADS register and input from the ANI0 pin. If anything is written to the ADM, ADS, PFM, and PFT registers during conversion, A/D conversion is aborted. In the software trigger mode, A/D conversion is started from the beginning again. In the hardware trigger mode, the A/D converter waits for a trigger. Conversion starts again from the ANI0 pin. If the trigger is detected during conversion in hardware trigger mode, A/D conversion is aborted and started again from the beginning (ANI0 pin).
Preliminary User's Manual U17703EJ1V0UD
445
CHAPTER 14 A/D CONVERTER
Figure 14-5. Example of Scan Mode Operation Timing (ADS.ADS2 to ADS.ADS0 Bits = 011B)
(a) Timing example
ANI0 Data 1 ANI1 Data 2 Data 7 ANI2 Data 3 Data 5
Data 6
ANI3
Data 4
A/D conversion
Data 1 (ANI0)
Data 2 (ANI1)
Data 3 (ANI2)
Data 4 (ANI3)
ADCR
Data 1 (ANI0)
Data 2 (ANI1)
Data 3 (ANI2)
Data 4 (ANI3)
INTAD
Conversion end Conversion start Set ADCS bit = 1
(b) Block diagram
Analog input pin ANI0 ANI1 ANI2 ANI3 ANI4 ANI5 ANI6 ANI7 A/D converter ADCR register ADCR
446
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
14.5.4 Power fail detection function The conversion end interrupt request signal (INTAD) can be controlled as follows using the PFM and PFT registers. * If the PFM.PFEN bit = 0, the INTAD signal is generated each time conversion ends. * If the PFEN bit = 1 and the PFM.PFCM bit = 0, the conversion result (ADCRH register) and the value of the PFT register are compared when conversion ends, and the INTAD signal is generated only if ADCRH PFT. * If the PFEN and PFCM bits = 1, the conversion result and the value of the PFT register are compared when conversion ends, and the INTAD signal is generated only if ADCRH < PFT. * Because, when the PFEN bit = 1, the conversion result is overwritten after the INTAD signal has been generated, unless the conversion result is read by the time the next conversion ends, in some cases it may appear as if the actual operation differs from the operation described above (refer to Figure 14-6). Figure 14-6. Power Fail Detection Function (PFCM Bit = 0)
Conversion operation
ANI0
ANI0
ANI0
ANI0
ADCRH
80H
7FH
80H
PFT
80H
INTAD
Note
Note If reading is not performed during this interval, the conversion result changes to the next conversion result.
Preliminary User's Manual U17703EJ1V0UD
447
CHAPTER 14 A/D CONVERTER
14.5.5 Setting method The following describes how to set registers. (1) When using the A/D converter for A/D conversion <1> Set (1) the ADM.ADCS2 bit. <2> Select the channel and conversion time by setting the ADS.ADS2 to ADS.ADS0 bits and the ADM.ADHS1, ADM.ADHS0, and ADM.FR2 to ADM.FR0 bits. <3> Set (1) the ADM.ADCS bit. <4> Transfer the A/D conversion data to the ADCR register. <5> An interrupt request signal (INTAD) is generated. <6> Change the channel by setting the ADS2 to ADS0 bits. <7> Transfer the A/D conversion data to the ADCR register. <8> The INTAD signal is generated. <9> Clear (0) the ADCS bit. <10> Clear (0) the ADCS2 bit. Cautions 1. The time taken from <1> to <3> must be 1 s (high-speed mode) or 14 s (normal mode) or longer. 2. Steps <1> and <2> may be reversed. 3. Step <1> may be omitted. However, if omitted, do not use the first conversion result after <3>. 4. The time taken from <4> to <7> is different from the conversion time set by the ADHS1, ADHS0, and FR2 to FR0 bits. The time taken for <6> and <7> is the conversion time set by the ADHS1, ADHS0, and FR2 to FR0 bits. (2) When using the A/D converter for the power fail detection function <1> Set (1) the PFM.PFEN bit. <2> Set the power fail comparison conditions by using the PFM.PFCM bit. <3> Set (1) the ADM.ADCS2 bit. <4> Select the channel and conversion time by setting the ADS.ADS2 to ADS.ADS0 bits and the ADM.ADHS1, ADM.ADHS0, and ADM.FR2 to ADM.FR0 bits. <5> Set the threshold value in the PFT register. <6> Set (1) the ADM.ADCS bit. <7> Transfer the A/D conversion data to the ADCR register. <8> Compare the ADCRH register with the PFT register. An interrupt request signal (INTAD) is generated when the conditions match. <9> Change the channel by setting the ADS2 to ADS0 bits. <10> Transfer the A/D conversion data to the ADCR register. <11> The ADCRH register is compared with the PFT register. When the conditions match, an INTAD signal is generated. <12> Clear (0) the ADCS bit. <13> Clear (0) the ADCS2 bit. Remark If the operation of the power fail detection function is enabled, all the A/D conversion results are compared, regardless of whether the select mode or scan mode is set.
448
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
14.6 Cautions
(1) Power consumption in standby mode The operation of the A/D converter stops in the standby mode. At this time, the power consumption can be reduced by stopping the conversion operation (the ADM.ADCS bit = 0). Figure 14-7 shows an example of how to reduce the power consumption in the standby mode. Figure 14-7. Example of How to Reduce Power Consumption in Standby Mode
AVREF0
P-ch
ADCS
Series resistor string AVSS
(2) Input range of ANI0 to ANI7 pins Use the A/D converter with the ANI0 to ANI7 pin input voltages within the specified range. If a voltage of AVREF0 or higher or AVSS or lower (even if within the absolute maximum ratings) is input to these pins, the conversion value of the channel is undefined. Also, this may affect the conversion value of other channels. (3) Conflicting operations (a) Conflict between writing to the ADCR register and reading from ADCR register upon the end of conversion Reading the ADCR register takes precedence. After the register has been read, a new conversion result is written to the ADCR register. (b) Conflict between writing to the ADCR register and writing to the ADM register or writing to the ADS register upon the end of conversion Writing to the ADM register or ADS register takes precedence. The ADCR register is not written, and neither is the conversion end interrupt request signal (INTAD) generated.
Preliminary User's Manual U17703EJ1V0UD
449
CHAPTER 14 A/D CONVERTER
(4) Measures against noise To keep a resolution of 10 bits, be aware of noise on the AVREF0 and ANI0 to ANI7 pins. The higher the output impedance of the analog input source, the greater the effect of noise. connect external capacitors as shown in Figure 14-8 to reduce noise. Figure 14-8. Handling of Analog Input Pins Therefore, it is recommended to
If noise of AVREF0 or higher or AVSS or lower could be generated, clamp with a diode with a small VF (0.3 V or lower). Reference voltage input
AVREF0
ANI0 to ANI7 C 0.1 F
AVSS VSS
(5) ANI0/P70 to ANI7/P77 pins The analog input pins (ANI0 to ANI7) function alternately as input port pins (P70 to P77). When performing A/D conversion by selecting any of the ANI0 to ANI7 pins, do not execute an input instruction to port 7 during conversion. This may decrease the conversion resolution. If digital pulses are applied to the pin adjacent to the pin subject to A/D conversion, the value of the A/D conversion may differ from the expected value because of coupling noise. Therefore, do not apply pulses to the pin adjacent to the pin subject to A/D conversion. (6) Input impedance of AVREF0 pin A series resistor string of tens of k is connected between the AVREF0 pin and AVSS pin. Therefore, if the output impedance of the reference voltage source is high, this will result in a series connection to the series resistor string between the AVREF0 pin and AVSS pin, resulting in a large reference voltage error.
450
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
(7) Interrupt request flag (ADIC.ADIF bit) Even when the ADS register is changed, the ADIF bit is not cleared (0). Therefore, if the analog input pin is changed during A/D conversion, the ADIF bit may be set (1) because A/D conversion of the previous analog input pin ends immediately before the ADS register is rewritten. In a such case, note that if the ADIF bit is read immediately after the ADS register has been rewritten, the ADIF bit is set (1) even though A/D conversion of the analog input pin after the change has not been completed. When stopping A/D conversion once and resuming it, clear the ADIF bit (0) before resuming A/D conversion. Figure 14-9. A/D Conversion End Interrupt Request Occurrence Timing
ADS rewrite (ANIn conversion start)
ADS rewrite (ANIm conversion start)
ANIm conversion is not complete even though ADIF is set.
A/D conversion
ANIn
ANIn
ANIm
ANIm
ADCR
ANIn
ANIn
ANIm
ANIm
INTAD
Remark
n = 0 to 7 m = 0 to 7
(8) Conversion results immediately after A/D conversion start If the ADM.ADCS bit is set to 1 within 1 s (high-speed mode) or 14 s (normal mode) after the ADM.ADCS2 bit has been set to 1, or if the ADCS bit is set to 1 with the ADCS2 bit cleared to 0, the converted value immediately after the A/D conversion operation has started may not satisfy the rating. Take appropriate measures such as polling the A/D conversion end interrupt request signal (INTAD) and discarding the first conversion result. (9) Reading A/D conversion result register (ADCR) When the ADM or ADS register has been written, the contents of the ADCR register may become undefined. When the conversion operation is complete, read the conversion results before writing to the ADM or ADS register. A correct conversion result may not be able to be read at a timing other than the above. Accessing the ADCR and ADCRH registers is prohibited when the CPU operates with the subclock and the main clock oscillation (fX) is stopped. For details, refer to 3.4.8 (1) (b) Access to special on-chip peripheral I/O register.
Preliminary User's Manual U17703EJ1V0UD
451
CHAPTER 14 A/D CONVERTER
(10) A/D converter sampling time and A/D conversion start delay time The A/D converter sampling time differs depending on the set value of the ADM register. A delay time exists until actual sampling is started after A/D converter operation is enabled. When using a set in which the A/D conversion time must be strictly observed, care is required for the contents shown in Figure 14-10 and Table 14-4. Figure 14-10. Timing of A/D Converter Sampling and A/D Conversion Start Delay
ADCS bit 1 or ADS register rewrite
ADCS
Sampling timing
INTAD
Wait period Register Sampling write time response time/trigger response time
Sampling time Conversion time Conversion time
452
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
Table 14-4. A/D Converter Conversion Time
ADHS1 ADHS0 FR2 FR1 FR0 Conversion Time Sampling Time Register Write Response Time MIN. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 288/fXX 240/fXX 192/fXX 144/fXX 120/fXX 96/fXX 96/fXX 72/fXX 48/fXX 24/fXX 224/fXX 168/fXX 112/fXX 56/fXX 72/fXX 54/fXX 36/fXX 18/fXX Setting prohibited 176/fXX 176/fXX 132/fXX 88/fXX 88/fXX 48/fXX 48/fXX 36/fXX 24/fXX 12/fXX 176/fXX 132/fXX 88/fXX 44/fXX 24/fXX 18/fXX 12/fXX 6/fXX - 11/fXX 11/fXX 10/fXX 9/fXX 9/fXX 11/fXX 11/fXX 10/fXX 9/fXX 8/fXX 11/fXX 10/fXX 9/fXX 8/fXX 11/fXX 10/fXX 9/fXX 8/fXX -
Note
Trigger Response Time MIN. 7/fXX 7/fXX 6/fXX 5/fXX 5/fXX 7/fXX 7/fXX 6/fXX 5/fXX 4/fXX 7/fXX 6/fXX 5/fXX 4/fXX 7/fXX 6/fXX 5/fXX 4/fXX -
Note
MAX. 12/fXX 12/fXX 11/fXX 10/fXX 10/fXX 12/fXX 12/fXX 11/fXX 10/fXX 9/fXX 12/fXX 11/fXX 10/fXX 9/fXX 12/fXX 11/fXX 10/fXX 9/fXX -
MAX. 8/fXX 8/fXX 7/fXX 6/fXX 6/fXX 8/fXX 8/fXX 7/fXX 6/fXX 5/fXX 8/fXX 7/fXX 6/fXX 5/fXX 8/fXX 7/fXX 6/fXX 5/fXX -
Other than above
Note Each response time is the time after the wait period. For the wait function, refer to 3.4.8 (1) (b) Access to special on-chip peripheral I/O register. Remark fXX: Main clock frequency
Preliminary User's Manual U17703EJ1V0UD
453
CHAPTER 14 A/D CONVERTER
(11) Internal equivalent circuit The following shows the equivalent circuit of the analog input block. Figure 14-11. Internal Equivalent Circuit of ANIn Pin
RIN ANIn COUT CIN
AVREF0 4.5 V 2.7 V
RIN 3 k 60 k
COUT 8 pF 8 pF
CIN 15 pF 15 pF
Remarks 1. The above values are reference values. 2. n = 0 to 7
(12) Variation of A/D conversion results The results of the A/D conversion may vary depending on the fluctuation of the supply voltage, or may be affected by noise. To reduce the variation, take counteractive measures with the program such as averaging the A/D conversion results. (13) A/D conversion result hysteresis characteristics The successive approximation type A/D converter holds the analog input voltage in the internal sample & hold capacitor and then performs A/D conversion. After the A/D conversion has finished, the analog input voltage remains in the internal sample & hold capacitor. As a result, the following phenomena may occur. * When the same channel is used for A/D conversions, if the voltage is higher or lower than the previous A/D conversion, then hysteresis characteristics may appear where the conversion result is affected by the previous value. Thus, even if the conversion is performed at the same potential, the result may vary. * When switching the analog input channel, hysteresis characteristics may appear where the conversion result is affected by the previous channel value. This is because one A/D converter is used for the A/D conversions. Thus, even if the conversion is performed at the same potential, the result may vary. Therefore, to obtain more accurate conversion result, perform A/D conversion twice successively for the same channel, and discard the first conversion result.
454
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
14.7 How to Read A/D Converter Characteristics Table
Here, special terms unique to the A/D converter are explained. (1) Resolution This is the minimum analog input voltage that can be identified. That is, the percentage of the analog input voltage per bit of digital output is called 1 LSB (Least Significant Bit). The percentage of 1 LSB with respect to the full scale is expressed by %FSR (Full Scale Range). %FSR indicates the ratio of analog input voltage that can be converted as a percentage, and is always represented by the following formula regardless of the resolution. 1 %FSR = (Max. value of analog input voltage that can be converted - Min. value of analog input voltage that can be converted)/100 = (AVREF0 - 0)/100 = AVREF0/100 1 LSB is as follows when the resolution is 10 bits. 1 LSB = 1/210 = 1/1024 = 0.098 %FSR Accuracy has no relation to resolution, but is determined by overall error. (2) Overall error This shows the maximum error value between the actual measured value and the theoretical value. Zero-scale error, full-scale error, linearity error and errors that are combinations of these express the overall error. Note that the quantization error is not included in the overall error in the characteristics table. Figure 14-12. Overall Error
1......1
Ideal line
Digital output
Overall error
0......0 0 Analog input AVREF0
Preliminary User's Manual U17703EJ1V0UD
455
CHAPTER 14 A/D CONVERTER
(3) Quantization error When analog values are converted to digital values, a 1/2 LSB error naturally occurs. In an A/D converter, an analog input voltage in a range of 1/2 LSB is converted to the same digital code, so a quantization error cannot be avoided. Note that the quantization error is not included in the overall error, zero-scale error, full-scale error, integral linearity error, and differential linearity error in the characteristics table. Figure 14-13. Quantization Error
1......1
Digital output
1/2 LSB
Quantization error 1/2 LSB
0......0 0 Analog input AVREF0
(4) Zero-scale error This shows the difference between the actual measurement value of the analog input voltage and the theoretical value (1/2 LSB) when the digital output changes from 0......000 to 0......001. Figure 14-14. Zero-Scale Error
111
Digital output (Lower 3 bits)
Ideal line
100
Zero-scale error 011
010 001 000
-1
0
1
2
3
AVREF0
Analog input (LSB)
456
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 14 A/D CONVERTER
(5) Full-scale error This shows the difference between the actual measurement value of the analog input voltage and the theoretical value (full scale - 3/2 LSB) when the digital output changes from 1......110 to 1......111. Figure 14-15. Full-Scale Error
Full-scale error
Digital output (Lower 3 bits)
111 100 011 010
000 0 AVREF0-3 AVREF0-2 AVREF0-1 AVREF0 Analog input (LSB)
(6) Differential linearity error While the ideal width of code output is 1 LSB, this indicates the difference between the actual measurement value and the ideal value. This indicates the basic characteristics of the A/D conversion when the voltage applied to the analog input pins of the same channel is consistently increased bit by bit from AVSS to AVREF0. When the input voltage is increased or decreased, or when two or more channels are used, refer to 14.7 (2) Overall error. Figure 14-16. Differential Linearity Error
1......1
Ideal 1 LSB width
Digital output
Differential linearity error
0......0
0 Analog input
AVREF0
Preliminary User's Manual U17703EJ1V0UD
457
CHAPTER 14 A/D CONVERTER
(7) Integral linearity error This shows the degree to which the conversion characteristics deviate from the ideal linear relationship. It expresses the maximum value of the difference between the actual measurement value and the ideal straight line when the zero-scale error and full-scale error are 0. Figure 14-17. Integral Linearity Error
1......1
Ideal line
Digital output
0......0
Integral linearity error 0 Analog input AVREF0
(8) Conversion time This expresses the time from when the analog input voltage was applied to the time when the digital output was obtained. The sampling time is included in the conversion time in the characteristics table. (9) Sampling time This is the time the analog switch is turned on for the analog voltage to be sampled by the sample & hold circuit. Figure 14-18. Sampling Time
Sampling time
Conversion time
458
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 15 D/A CONVERTER
15.1 Functions
In the V850ES/KG2, two channels of D/A converter (DAC0, DAC1) are provided. The D/A converter has the following functions. 8-bit resolution x 2 channels R-2R ladder string method Conversion time: 20 s (MAX.) (AVREF1 = 2.7 to 5.5 V) Analog output voltage: AVREF1 x m/256 (m = 0 to 255; value set to DACSn register) Operation modes: Normal mode, real-time output mode Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
459
CHAPTER 15 D/A CONVERTER
15.2 Configuration
The D/A converter configuration is shown below. Figure 15-1. Block Diagram of D/A Converter
DACS0 register write DAM.DAMD0 bit
DACS0
INTTMH0 signal DACE0 AVREF1 AVSS Selector
ANO0
ANO1 Selector DACE1 DACS1 register write DAM.DAMD1 bit
INTTMH1 signal
DACS1
Caution DAC0 and DAC1 share the AVREF1 and AVSS pins. The AVSS pin is also shared by the A/D converter.
The D/A converter includes the following hardware. Table 15-1. Configuration of D/A Converter
Item Control register Configuration D/A converter mode register (DAM) D/A conversion value setting registers 0 and 1 (DACS0, DACS1)
460
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 15 D/A CONVERTER
15.3 Registers
The registers that control the D/A converter are as follows. * D/A converter mode register (DAM) * D/A conversion value setting registers 0 and 1 (DACS0, DACS1) (1) D/A converter mode register (DAM) This register controls the operation of the D/A converter. The DAM register can be read or written in 8-bit or 1-bit units. Reset sets DAM to 00H.
After reset: 00H
R/W
Address: FFFFF284H <> <> DAMD0 DACE0
DAM
0
0
0
0
DAMD1
DACE1
DAMDn 0 1
Selection of D/A converter operation mode (n = 0, 1) Normal mode Real-time output modeNote
DACEn 0 1
D/A converter operation enable/disable control (n = 0, 1) Disable operation Enable operation
Note The output trigger in the real-time output mode (DAMDn bit = 1) is as follows. * When n = 0: INTTMH0 signal (Refer to CHAPTER 10 8-BIT TIMER H) * When n = 1: INTTMH1 signal (Refer to CHAPTER 10 8-BIT TIMER H)
(2) D/A conversion value setting registers 0 and 1 (DACS0, DACS1) These registers set the analog voltage value output to the ANO0 and ANO1 pins. These registers can be read or written in 8-bit units. Reset sets DACS0 and DACS1 to 00H.
After reset: 00H
R/W
Address: DACS0 FFFFF280H, DACS1 FFFFF282H
DACSn (n = 0, 1)
DAn7
DAn6
DAn5
DAn4
DAn3
DAn2
DAn1
DAn0
Caution In the real-time output mode (DAM.DAMDn bit = 1), set the DACS0 and DACS1 registers before the INTTMH0 and INTTMH1 signals are generated. D/A conversion starts when the INTTMH0 and INTTMH1 signals are generated.
Preliminary User's Manual U17703EJ1V0UD
461
CHAPTER 15 D/A CONVERTER
15.4 Operation
15.4.1 Operation in normal mode D/A conversion is performed using a write operation to the DACSn register as the trigger. The setting method is described below. <1> Clear the DAM.DAMDn bit to 0 (normal mode). <2> Set the analog voltage value to be output to the ANOn pin to the DACSn register. Steps <1> and <2> above constitute the initial settings. <3> Set the DAM.DACEn bit to 1 (D/A conversion enable). D/A converted analog voltage value is output from the ANOn pin when this setting is performed. <4> To change the analog voltage value, write to the DACSn register. The analog voltage value immediately before set is held until the next write operation is performed. Remarks 1. For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. n = 0, 1 15.4.2 Operation in real-time output mode D/A conversion is performed using the interrupt request signals (INTTMH0, INTTMH1) of 8-bit timers H0 and H1 as the trigger. The setting method is described below. <1> Set the DAM.DAMDn bit to 1 (real-time output mode). <2> Set the analog voltage value to be output to the ANOn pin to the DACSn register. <3> Set the DAM.DACEn bit to 1 (D/A conversion enable). Steps <1> to <3> above constitute the initial settings. <4> Operate 8-bit timers H0 and H1. <5> D/A converted analog voltage value is output from the ANOn pin when the INTTMH0 and INTTMH1 signals are generated. Set the next output analog voltage value to the DACSn register, before the next INTTMH0 and INTTMH1 signals are generated. <6> After that, the value set in the DACSn register is output from the ANOn pin every time the INTTMH0 are INTTMH1 signals are generated. Remarks 1. The output values of the ANO0 and ANO1 pins up to <5> above are undefined. 2. For the output values of the ANO0 and ANO1 pins in the IDLE, HALT, and STOP modes, refer to CHAPTER 23 STANDBY FUNCTION. 3. n = 0, 1
462
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 15 D/A CONVERTER
15.4.3 Cautions Observe the following cautions when using the D/A converter. * When using the D/A converter, set the port pins to the input mode (PM10, PM11 bits = 11) * When using the D/A converter, reading of the port is prohibited. * When using the D/A converter, use both P10 and P11 as D/A outputs. Using one of the port 1 for D/A output and the other as a port is prohibited. * In the real-time output mode, do not change the set value of the DACSn register while the trigger signal is output. * Make sure that AVREF1 VDD and AVREF1 = 2.7 to 5.5 V. The operation is not guaranteed if ranges other than the above are used. * Because the output impedance of the D/A converter is high, a current cannot be supplied from the ANOn pin. When connecting a resistor of 2 M or lower, take appropriate measures such as inserting a JFET input type operational amplifier between the resistor and the ANOn pin. Remark n = 0, 1 Figure 15-2. Example of External Pin Connection
- Output ANOn + JFET input type operational amplifier EVDD 0.1 F 10 F
AVREF0 AVSS
AVREF1
0.1 F
10 F
Caution
The figure shown here is only reference. Use it after fully evaluating.
Preliminary User's Manual U17703EJ1V0UD
463
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.3 Configuration
Table 16-1. Configuration of UARTn
Item Registers Receive buffer register n (RXBn) Transmit buffer register n (TXBn) Receive shift register Transmit shift register Asynchronous serial interface mode register n (ASIMM) Asynchronous serial interface status register n (ASISn) Asynchronous serial interface transmit status register n (ASIFn) Other Reception control parity check Addition of transmission control parity Configuration
Remark
n = 0 to 2
Figure 16-2 shows the configuration of UARTn. (1) Asynchronous serial interface mode register n (ASIMn) The ASIMn register is an 8-bit register for specifying the operation of UARTn. (2) Asynchronous serial interface status register n (ASISn) The ASISn register consists of a set of flags that indicate the error contents when a reception error occurs. The various reception error flags are set (1) when a reception error occurs and are cleared (0) when the ASISn register is read. (3) Asynchronous serial interface transmit status register n (ASIFn) The ASIFn register is an 8-bit register that indicates the status when a transmit operation is performed. This register consists of a transmit buffer data flag, which indicates the hold status of the TXBn register data, and the transmit shift register data flag, which indicates whether transmission is in progress. (4) Reception control parity check The receive operation is controlled according to the contents set in the ASIMn register. A check for parity errors is also performed during a receive operation, and if an error is detected, a value corresponding to the error contents is set in the ASISn register. (5) Receive shift register This is a shift register that converts the serial data that was input to the RXDn pin to parallel data. One byte of data is received, and if a stop bit is detected, the receive data is transferred to the RXBn register. This register cannot be directly manipulated. (6) Receive buffer register n (RXBn) The RXBn register is an 8-bit buffer register for holding receive data. When 7 characters are received, 0 is stored in the MSB. During a reception enabled state, receive data is transferred from the receive shift register to the RXBn register, synchronized with the end of the shift-in processing of one frame. Also, the reception completion interrupt request signal (INTSRn) is generated by the transfer of data to the RXBn register.
466
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
In the V850ES/KG2, three channels of asynchronous serial interface (UART) are provided.
16.1 Selecting UART2 or CSI00 Mode
UART2 and CSI00 of the V850ES/KG2 share pins, and therefore these interfaces cannot be used at the same time. Select UART2 or CSI00 in advance by using the PMC4 and PFC4 registers (refer to 4.3.4 Port 4). Caution UART2 or CSI00 transmission/reception operations are not guaranteed if the mode is changed during transmission or reception. Be sure to disable the operation of the unit that is not used. Figure 16-1. Selecting Mode of UART2 or CSI00
After reset: 00H 7 PMC4 0
R/W 6 0
Address: FFFFF448H 5 0 4 0 3 0 2 PMC42 1 PMC41 0 PMC40
After reset: 00H 7 PFC4 0
R/W 6 0
Address: FFFFF468H 5 0 4 0 3 0 2 0 1 PFC41 0 PFC40
PFC4n 0 0 1 1
PMC4n 0 1 0 1
Operation mode Port I/O mode CSI00 mode Port I/O mode UART2 mode
Remark
n = 0, 1
464
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.2 Features
* Maximum transfer speed: 312.5 kbps * Full-duplex communications On-chip RXBn register On-chip TXBn register * Two-pin configurationNote TXDn: Transmit data output pin RXDn: Receive data input pin * Reception error detection functions * Parity error * Framing error * Overrun error * Interrupt sources: 3 types * Reception error interrupt request signal (INTSREn): * Reception completion interrupt request signal (INTSRn): Interrupt is generated according to the logical OR of the three types of reception errors Interrupt is generated when receive data is transferred from the receive shift register to the RXBn register after serial transfer is completed during a reception enabled state * Transmission completion interrupt request signal (INTSTn): Interrupt is generated when the serial transmission of transmit data (8 or 7 bits) from the transmit shift register is completed * Character length: 7 or 8 bits * Parity functions: Odd, even, 0, or none * Transmission stop bits: 1 or 2 bits * On-chip dedicated baud rate generator Note The ASCK0 pin (external clock input) is available only for UART0.
Preliminary User's Manual U17703EJ1V0UD
465
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
(7) Transmit shift register This is a shift register that converts the parallel data that was transferred from the TXBn register to serial data. When one byte of data is transferred from the TXBn register, the shift register data is output from the TXDn pin. The transmission completion interrupt request signal (INTSTn) is generated synchronized with the completion of transmission of one frame. This register cannot be directly manipulated. (8) Transmit buffer register n (TXBn) The TXBn register is an 8-bit buffer for transmit data. A transmit operation is started by writing transmit data to the TXBn register. (9) Addition of transmission control parity A transmit operation is controlled by adding a start bit, parity bit, or stop bit to the data that is written to the TXBn register, according to the contents that were set in the ASIMn register. Figure 16-2. Block Diagram of UARTn
Internal bus
Asynchronous serial interface mode register n (ASIMn)
Receive buffer register n (RXBn)
Transmit buffer register n (TXBn)
RXDn TXDn
Receive shift register
Transmit shift register
Reception control parity check Parity Framing Overrun
Addition of transmission control parity
INTSTn INTSRn
INTSREn Baud rate generator n
Remark
For the configuration of the baud rate generator, refer to Figure 16-13.
Preliminary User's Manual U17703EJ1V0UD
467
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.4 Registers
(1) Asynchronous serial interface mode register n (ASIMn) The ASIMn register is an 8-bit register that controls the UARTn transfer operation. This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 01H. Cautions 1. When using UARTn, be sure to set the external pins related to UARTn functions to the control made before setting the CKSRn and BRGCn registers, and then set the UARTEn bit to 1. Then set the other bits. 2. Set the UARTEn and RXEn bits to 1 while a high level is input to the RXDn pin. If these bits are set to 1 while a low level is input to the RXDn pin, reception will be started. (1/2)
After reset: 01H <7> ASIMn (n = 0 to 2) UARTEn R/W <6> TXEn Address: ASIM0 FFFFFA00H, ASIM1 FFFFFA10H, ASIM2 FFFFFA20H <5> RXEn 4 PSn1 3 PSn0 2 CLn 1 SLn 0 ISRMn
UARTEn 0 1 Stop clock supply to UARTn. Supply clock to UARTn.
Control of operating clock
* If the UARTEn bit is cleared to 0, UARTn is asynchronously reset
Note
.
* If the UARTEn bit = 0, UARTn is reset. To operate UARTn, first set the UARTEn bit to 1. * If the UARTEn bit is cleared from 1 to 0, all the registers of UARTn are initialized. To set the UARTEn bit to 1 again, be sure to re-set the registers of UARTn.
The output of the TXDn pin goes high when transmission is disabled, regardless of the setting of the UARTEn bit.
TXEn 0 1 Disable transmission Enable transmission
Transmission enable/disable
* Set the TXEn bit to 1 after setting the UARTEn bit to 1 at startup. Clear the UARTEn bit to 0 after clearing the TXEn bit to 0 to stop. * To initialize the transmission unit, clear (0) the TXEn bit, and after letting 2 Clock cycles (base clock) elapse, set (1) the TXEn bit again. If the TXEn bit is not set again, initialization may not be successful. (For details about the base clock, refer to 16.7.1 (1) Base clock.)
Note The ASISn, ASIFn, and RXBn registers are reset.
468
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
(2/2)
RXEn 0 1 Disable reception Enable reception
Note
Reception enable/disable
* Set the RXEn bit to 1 after setting the UARTEn bit to 1 at startup. Clear the UARTEn bit to 0 after clearing the RXEn bit to 0 to stop. * To initialize the reception unit status, clear (0) the RXEn bit, and after letting 2 Clock cycles (base clock) elapse, set (1) the RXEn bit again. If the RXEn bit is not set again, initialization may not be successful. (For details about the base clock, refer to 16.7.1 (1) Base clock.)
PSn1 0 0 1 1
PSn0 0 1 0 1
Transmit operation Don't output parity bit Output 0 parity Output odd parity Output even parity
Receive operation Receive with no parity Receive as 0 parity Judge as odd parity Judge as even parity
* To overwrite the PSn1 and PSn0 bits, first clear (0) the TXEn and RXEn bits. * If "0 parity" is selected for reception, no parity judgment is performed. Therefore, no error interrupt is generated because the ASISn.PEn bit is not set.
CLn 0 1 7 bits 8 bits
Specification of character length of 1 frame of transmit/receive data
* To overwrite the CLn bit, first clear (0) the TXEn and RXEn bits.
SLn 0 1 1 bit 2 bits
Specification of stop bit length of transmit data
* To overwrite the SLn bit, first clear (0) the TXEn bit. * Since reception is always done with a stop bit length of 1, the SLn bit setting does not affect receive operations.
ISRMn 0
Enable/disable of generation of reception completion interrupt request signals when an error occurs Generate a reception error interrupt request signal (INTSREn) as an interrupt when an error occurs. In this case, no reception completion interrupt request signal (INTSRn) is generated.
1
Generate a reception completion interrupt request signal (INTSRn) as an interrupt when an error occurs. In this case, no reception error interrupt request signal (INTSREn) is generated.
* To overwrite the ISRMn bit, first clear (0) the RXEn bit.
Note When reception is disabled, the receive shift register does not detect a start bit. register are retained.
No shift-in
processing or transfer processing to the RXBn register is performed, and the contents of the RXBn When reception is enabled, the receive shift operation starts, synchronized with the detection of the start bit, and when the reception of one frame is completed, the contents of the receive shift register are transferred to the RXBn register. A reception completion interrupt request signal (INTSRn) is also generated in synchronization with the transfer to the RXBn register.
Preliminary User's Manual U17703EJ1V0UD
469
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
(2) Asynchronous serial interface status register n (ASISn) The ASISn register, which consists of 3 error flag bits (PEn, FEn and OVEn), indicates the error status when UARTn reception is complete. The ASISn register is cleared to 00H by a read operation. When a reception error occurs, the RXBn register should be read and the error flag should be cleared after the ASISn register is read. This register is read-only in 8-bit units. Reset sets this register to 00H. Cautions 1. When the ASIMn.UARTEn bit or ASIMn.RXEn bit is cleared to 0, or when the ASISn register is read, the PEn, FEn, and OVEn bits are cleared (0). 2. Operation using a bit manipulation instruction is prohibited. 3. When the main clock is stopped and the CPU is operating on the subclock, do not access the ASISn register. For details, refer to 3.4.8 (1) (b).
After reset: 00H 7 ASISn (n = 0 to 2) 0
R 6 0
Address: ASIS0 FFFFFA03H, ASIS1 FFFFFA13H, ASIS2 FFFFFA23H 5 0 4 0 3 0 2 PEn 1 FEn 0 OVEn
PEn 0 1
Status flag indicating a parity error When the UARTEn or RXEn bit is cleared to 0, or after the ASISn register has been read When reception was completed, the receive data parity did not match the parity bit
* The operation of the PEn bit differs according to the settings of the ASIMn.PSn1 and ASIMn.PSn0 bits.
FEn 0 1
Status flag indicating framing error When the UARTEn or RXEn bit is cleared to 0, or after the ASISn register has been read When reception was completed, no stop bit was detected
* For receive data stop bits, only the first bit is checked regardless of the stop bit length.
OVEn 0 1
Status flag indicating an overrun error When the UARTEn or RXEn bit is cleared to 0, or after the ASISn register has been read. UARTn completed the next receive operation before reading receive data of the RXBn register.
* When an overrun error occurs, the next receive data value is not written to the RXBn register and the data is discarded.
470
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
(3) Asynchronous serial interface transmit status register n (ASIFn) The ASIFn register, which consists of 2 status flag bits, indicates the status during transmission. By writing the next data to the TXBn register after data is transferred from the TXBn register to the transmit shift register, transmit operations can be performed continuously without suspension even during an interrupt interval. When transmission is performed continuously, data should be written after referencing the TXBFn bit to prevent writing to the TXBn register by mistake. This register is read-only in 8-bit or 1-bit units. Reset sets this register to 00H.
After reset: 00H 7 ASIFn (n = 0 to 2) 0
R 6 0
Address: ASIF0 FFFFFA05H, ASIF1 FFFFFA15H, ASIF2 FFFFFA25H 5 0 4 0 3 0 2 0 <1> TXBFn <0> TXSFn
TXBFn 0
Transmission buffer data flag Data to be transferred next to TXBn register does not exist (When the ASIMn.UARTEn or ASIMn.TXEn bit is cleared to 0, or when data has been transferred to the transmission shift register)
1
Data to be transferred next exists in TXBn register (Data exists in TXBn register when the TXBn register has been written to)
* When transmission is performed continuously, data should be written to the TXBn register after confirming that this flag is 0. If writing to TXBn register is performed when this flag is 1, transmit data cannot be guaranteed.
TXSFn 0
Transmit shift register data flag (indicates the transmission status of UARTn) Initial status or a waiting transmission (When the UARTEn or TXEn bit is cleared to 0, or when following transmission completion, the next data transfer from the TXBn register is not performed)
1
Transmission in progress (When data has been transferred from the TXBn register)
* When the transmission unit is initialized, initialization should be executed after confirming that this flag is 0 following the occurrence of a transmission completion interrupt request signal (INTSTn). performed when this flag is 1, transmit data cannot be guaranteed. If initialization is
Preliminary User's Manual U17703EJ1V0UD
471
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
(4) Receive buffer register n (RXBn) The RXBn register is an 8-bit buffer register for storing parallel data that had been converted by the receive shift register. When reception is enabled (ASIMn.RXEn bit = 1), receive data is transferred from the receive shift register to the RXBn register, synchronized with the completion of the shift-in processing of one frame. Also, a reception completion interrupt request signal (INTSRn) is generated by the transfer to the RXBn register. information about the timing for generating this interrupt request, refer to 16.6.4 Receive operation. If reception is disabled (ASIMn.RXEn bit = 0), the contents of the RXBn register are retained, and no processing is performed for transferring data to the RXBn register even when the shift-in processing of one frame is completed. Also, the INTSRn signal is not generated. When 7 bits is specified for the data length, bits 6 to 0 of the RXBn register are transferred for the receive data and the MSB (bit 7) is always 0. However, if an overrun error (ASISn.OVEn bit = 1) occurs, the receive data at that time is not transferred to the RXBn register. The RXBn register becomes FFH when a reset is input or ASIMn.UARTEn bit = 0. This register is read-only in 8-bit units. For
After reset: FFH 7 RXBn (n = 0 to 2) RXBn7
R 6 RXBn6
Address: RXB0 FFFFFA02H, RXB1 FFFFFA12H, RXB2 FFFFFA22H 5 RXBn5 4 RXBn4 3 RXBn3 2 RXBn2 1 RXBn1 0 RXBn0
472
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
(5) Transmit buffer register n (TXBn) The TXBn register is an 8-bit buffer register for setting transmit data. When transmission is enabled (ASIMn.TXEn bit = 1), the transmit operation is started by writing data to TXBn register. When transmission is disabled (TXEn bit = 0), even if data is written to TXBn register, the value is ignored. The TXBn register data is transferred to the transmit shift register, and a transmission completion interrupt request signal (INTSTn) is generated, synchronized with the completion of the transmission of one frame from the transmit shift register. For information about the timing for generating this interrupt request, refer to 16.6.2 Transmit operation. When ASIFn.TXBFn bit = 1, writing must not be performed to TXBn register. This register can be read or written in 8-bit units. Reset sets this register to FFH.
After reset: FFH 7 TXBn (n = 0 to 2) TXBn7
R/W 6 TXBn6
Address: TXB0 FFFFFA04H, TXB1 FFFFFA14H, TXB2 FFFFFA24H 5 TXBn5 4 TXBn4 3 TXBn3 2 TXBn2 1 TXBn1 0 TXBn0
Preliminary User's Manual U17703EJ1V0UD
473
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.5 Interrupt Requests
The following three types of interrupt request signals are generated from UARTn. * Reception error interrupt request signal (INTSREn) * Reception completion interrupt request signal (INTSRn) * Transmission completion interrupt request signal (INTSTn) The default priorities among these three types of interrupt request signals are, from high to low, reception error interrupt, reception completion interrupt, and transmission completion interrupt. Table 16-2. Generated Interrupt Request Signals and Default Priorities
Interrupt Request Signal Reception error interrupt request signal (INTSREn) Reception completion interrupt request signal (INTSRn) Transmission completion interrupt request signal (INTSTn) Priority 1 2 3
(1) Reception error interrupt request signal (INTSREn) When reception is enabled, the INTSREn signal is generated according to the logical OR of the three types of reception errors explained for the ASISn register. Whether the INTSREn signal or the INTSRn signal is generated when an error occurs can be specified according to the ASIMn.ISRMn bit. When reception is disabled, the INTSREn signal is not generated. (2) Reception completion interrupt request signal (INTSRn) When reception is enabled, the INTSRn signal is generated when data is shifted in to the receive shift register and transferred to the RXBn register. The INTSRn signal can be generated in place of the INTSREn signal according to the ASIMn.ISRMn bit even when a reception error has occurred. When reception is disabled, the INTSRn signal is not generated. (3) Transmission completion interrupt request signal (INTSTn) The INTSTn signal is generated when one frame of transmit data containing 7-bit or 8-bit characters is shifted out from the transmit shift register.
474
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.6 Operation
16.6.1 Data format Full-duplex serial data transmission and reception can be performed. The transmit/receive data format consists of one data frame containing a start bit, character bits, a parity bit, and stop bits as shown in Figure 16-3. The character bit length within one data frame, the type of parity, and the stop bit length are specified according to the ASIMn register. Also, data is transferred LSB first. Figure 16-3. Format of UARTn Transmit/Receive Data
1 data frame
Start bit
D0
D1
D2
D3
D4
D5
D6
D7
Parity bit
Stop bits
Character bits
* Start bit *** 1 bit * Character bits *** 7 bits or 8 bits * Parity bit *** Even parity, odd parity, 0 parity, or no parity * Stop bits *** 1 bit or 2 bits
Preliminary User's Manual U17703EJ1V0UD
475
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.6.2 Transmit operation When the ASIMn.UARTEn bit is set to 1, a high level is output from the TXDn pin. Then, when the ASIMn.TXEn bit is set to 1, transmission is enabled, and the transmit operation is started by writing transmit data to the TXBn register. (1) Transmission enabled state This state is set by the TXEn bit. * TXEn bit = 1: Transmission enabled state * TXEn bit = 0: Transmission disabled state Since UARTn does not have a CTS (transmission enabled signal) input pin, a port should be used to confirm whether the destination is in a reception enabled state. (2) Starting a transmit operation In the transmission enabled state, a transmit operation is started by writing transmit data to the TXBn register. When a transmit operation is started, the data in the TXBn register is transferred to the transmit shift register. Then, the transmit shift register outputs data to the TXDn pin (the transmit data is transferred sequentially starting with the start bit). The start bit, parity bit, and stop bits are added automatically. (3) Transmission interrupt When the transmit shift register becomes empty, a transmission completion interrupt request signal (INTSTn) is generated. The timing for generating the INTSTn signal differs according to the specification of the stop bit length. The INTSTn signal is generated at the same time that the last stop bit is output. If the data to be transmitted next has not been written to the TXBn register, the transmit operation is suspended. Caution Normally, when the transmit shift register becomes empty, the INTSTn signal is generated. However, the INTSTn signal is not generated if the transmit shift register becomes empty due to reset.
476
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
Figure 16-4. UARTn Transmission Completion Interrupt Timing
(a) Stop bit length: 1
TXDn (output)
Start
D0
D1
D2
D6
D7
Parity
Stop
INTSTn (output)
(b) Stop bit length: 2
TXDn (output)
Start
D0
D1
D2
D6
D7
Parity
Stop
INTSTn (output)
Preliminary User's Manual U17703EJ1V0UD
477
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.6.3 Continuous transmission operation UARTn can write the next transmit data to the TXBn register at the timing that the transmit shift register starts the shift operation. This enables an efficient transmission rate to be realized by continuously transmitting data even during the transmission completion interrupt service after the transmission of one data frame. In addition, reading the ASIFn.TXSFn bit after the occurrence of a transmission completion interrupt request signal (INTSTn) enables the TXBn register to be efficiently written twice (2 bytes) without waiting for the transmission of 1 data frame. When continuous transmission is performed, data should be written after referencing the ASIFn register to confirm the transmission status and whether or not data can be written to the TXBn register. Caution The values of the ASIF.TXBFn and ASIF.TXSFn bits change 10 11 01 in continuous transmission. Therefore, do not confirm the status based on the combination of the TXBFn and TXSFn bits. Read only the TXBFn bit during continuous transmission.
TXBFn 0 1 Whether or Not Writing to TXBn Register Is Enabled Writing is enabled Writing is not enabled
Caution
When transmission is performed continuously, write the first transmit data (first byte) to the TXBn register and confirm that the TXBFn bit is 0, and then write the next transmit data (second byte) to TXBn register. If writing to the TXBn register is performed when the TXBFn bit is 1, transmit data cannot be guaranteed.
The communication status can be confirmed by referring to the TXSFn bit.
TXSFn 0 1 Transmission is completed. Under transmission. Transmission Status
Cautions 1. When initializing the transmission unit when continuous transmission is completed, confirm that the TXSFn bit is 0 after the occurrence of the transmission completion interrupt, and then execute initialization. If initialization is performed when the TXSFn bit is 1, transmit data cannot be guaranteed. 2. While transmission is being performed continuously, an overrun error may occur if the next transmission is completed before the INTSTn interrupt servicing following the transmission of 1 data frame is executed. An overrun error can be detected by embedding a program that can count the number of transmit data and referencing TXSFn bit.
478
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
Figure 16-5. Continuous Transmission Processing Flow
Set registers
Write transmit data to TXBn register
No
When reading ASIFn register, TXBFn = 0? Yes Write second byte transmit data to TXBn register
Interrupt occurrence
Required number of transfers performed? No
Yes
No
When reading ASIFn register, TXSFn = 1? Yes
When reading ASIFn register, TXSFn = 0? Yes
No
Write transmit data to TXBn register
Wait for interrupt
End of transmission processing
Preliminary User's Manual U17703EJ1V0UD
479
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
(1) Starting procedure The procedure to start continuous transmission is shown below. Figure 16-6. Continuous Transmission Starting Procedure
TXDn (output) <1> INTSTn (output)
Start bit <2>
Data (1)
Stop bit <3>
Start bit <4>
Data (2)
Stop bit <5>
TXBn register
FFH
Data (1)
Data (2)
Data (3)
TXSn register ASIFn register (TXBFn, TXSFn bits)
FFH 10 11Note
Data (1)
Data (2)
Data (3)
00
01
11
01
11
01
11
Note Refer to 16.8 Cautions (2).
Transmission Starting Procedure
Internal Operation
ASIFn Register TXBFn TXSFn 0 0 1
Note
* Set transmission mode * Write data (1)
<1> Start transmission unit
0 1
<2> Generate start bit
1 0
1 1 1 1
Start data (1) transmission * Read ASIFn register (confirm that TXBFn bit = 0) * Write data (2) <> <3> INTSTn interrupt occurs * Read ASIFn register (confirm that TXBFn bit = 0) * Write data (3) <4> Generate start bit Start data (2) transmission <> <5> INTSTn interrupt occurs * Read ASIFn register (confirm that TXBFn bit = 0) * Write data (4)
0 0 1
0 0 1
1 1 1
0 0 1
1 1 1
Note Refer to 16.8 Cautions (2).
480
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
(2) Ending procedure The procedure for ending continuous transmission is shown below. Figure 16-7. Continuous Transmission End Procedure
TXDn (output) <6> INTSTn (output) <7>
Start bit <8>
Data (m - 1)
Stop bit <9>
Start bit <10>
Data (m) <11>
Stop bit
TXBn register
Data (m - 1) Data (m - 1)
Data (m)
TXSn register ASIFn register (TXBFn, TXSFn bits)
Data (m)
FFH
11
01
11
01
00
UARTEn bit or TXEn bit
Transmission End Procedure
Internal Operation
ASIFn Register TXBFn TXSFn 1
<6> Transmission of data (m - 2) is in progress <7> INTSTn interrupt occurs * Read ASIFn register (confirm that TXBFn bit = 0) * Write data (m) <8> Generate start bit Start data (m - 1) transmission <> <9> INTSTn interrupt occurs * Read ASIFn register (confirm that TXSFn bit = 1) There is no write data <10> Generate start bit Start data (m) transmission <> <11> Generate INTSTn interrupt * Read ASIFn register (confirm that TXSFn bit = 0) * Clear (0) the UARTEn bit or TXEn bit Initialize internal circuits
1
0 0 1
1 1 1
0 0
1 1
0 0
0 0
Preliminary User's Manual U17703EJ1V0UD
481
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.6.4 Receive operation The awaiting reception state is set by setting the ASIMn.UARTEn bit to 1 and then setting the ASIMn.RXEn bit to 1. To start the receive operation, start sampling at the falling edge when the falling of the RXDn pin is detected. If the RXDn pin is low level at a start bit sampling point, the start bit is recognized. When the receive operation begins, serial data is stored sequentially in the receive shift register according to the baud rate that was set. A reception completion interrupt request signal (INTSRn) is generated each time the reception of one frame of data is completed. Normally, the receive data is transferred from the RXBn register to memory by this interrupt servicing. (1) Reception enabled state The receive operation is set to the reception enabled state by setting the RXEn bit to 1. * RXEn bit = 1: Reception enabled state * RXEn bit = 0: Reception disabled state In receive disabled state, the reception hardware stands by in the initial state. At this time, the contents of the RXBn register are retained, and no reception completion interrupt or reception error interrupt is generated. (2) Starting a receive operation A receive operation is started by the detection of a start bit. The RXDn pin is sampled using the serial clock from baud rate generator n (BRGn). (3) Reception completion interrupt When the RXEn bit = 1 and the reception of one frame of data is completed (the stop bit is detected), the INTSRn signal is generated and the receive data within the receive shift register is transferred to the RXBn register at the same time. Also, if an overrun error (ASISn.OVEn bit = 1) occurs, the receive data at that time is not transferred to the RXBn register, and either the INTSRn signal or a reception error interrupt request signal (INTSREn) is generated according to the ASIMn.ISRMn bit setting. Even if a parity error (ASISn.PEn bit = 1) or framing error (ASISn.FEn bit = 1) occurs during a reception operation, the receive operation continues until stop bit is received, and after reception is completed, either the INTSRn signal or the INTSREn signal is generated according to the ISRMn bit setting (the receive data within the receive shift register is transferred to the RXBn register). If the RXEn bit is cleared (0) during a receive operation, the receive operation is immediately stopped. The contents of the RXBn register and the ASISn register at this time do not change, and the INTSRn signal or the INTSREn signal is not generated. The INTSRn signal or the INTSREn signal is not generated when the RXEn bit = 0 (reception is disabled).
482
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
Figure 16-8. UARTn Reception Completion Interrupt Timing
RXDn (input)
Start
D0
D1
D2
D6
D7
Parity
Stop
INTSRn (output)
RXBn register
Cautions 1. Be sure to read the RXBn register even when a reception error occurs. If the RXBn register is not read, an overrun error will occur at the next data reception and the reception error status will continue infinitely. 2. Reception is always performed assuming a stop bit length of 1. A second stop bit is ignored.
16.6.5 Reception error The three types of errors that can occur during a receive operation are a parity error, framing error, and overrun error. As a result of data reception, the various flags of the ASISn register are set (1), and a reception error interrupt request signal (INTSREn) or a reception completion interrupt request signal (INTSRn) is generated at the same time. The ASIMn.ISRMn bit specifies whether the INTSREn signal or the INTSRn signal is generated. The type of error that occurred during reception can be detected by reading the contents of the ASISn register during the INTSREn or INTSRn interrupt servicing. The contents of the ASISn register are cleared (0) by reading the ASISn register. Table 16-3. Reception Error Causes
Error Flag PEn Reception Error Parity error Cause The parity specification during transmission did not match the parity of the reception data No stop bit was detected The reception of the next data was completed before data was read from the RXBn register
FEn OVEn
Framing error Overrun error
Preliminary User's Manual U17703EJ1V0UD
483
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
(1) Separation of reception error interrupt request signal A reception error interrupt request signal can be separated from the INTSRn signal and generated as the INTSREn signal by clearing the ISRMn bit to 0. Figure 16-9. When Reception Error Interrupt Request Signal Is Separated from INTSRn Signal (ISRMn Bit = 0)
(a) No error occurs during reception
(b) An error occurs during reception
INTSRn signal (Reception completion interrupt) INTSREn signal (Reception error interrupt)
INTSRn signal (Reception completion interrupt) INTSREn signal (Reception error interrupt)
INTSRn does not occur
Figure 16-10. When Reception Error Interrupt Request Signal Is Included in INTSRn Signal (ISRMn Bit = 1)
(a) No error occurs during reception
(b) An error occurs during reception
INTSRn signal (Reception completion interrupt) INTSREn signal (Reception error interrupt)
INTSRn signal (Reception completion interrupt) INTSREn signal (Reception error interrupt)
INTSREn does not occur
484
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.6.6 Parity types and corresponding operation A parity bit is used to detect a bit error in communication data. Normally, the same type of parity bit is used on the transmission and reception sides. (1) Even parity (i) During transmission The parity bit is controlled so that the number of bits with the value "1" within the transmit data including the parity bit is even. The parity bit value is as follows. * If the number of bits with the value "1" within the transmit data is odd: 1 * If the number of bits with the value "1" within the transmit data is even: 0 (ii) During reception The number of bits with the value "1" within the receive data including the parity bit is counted, and a parity error is generated if this number is odd. (2) Odd parity (i) During transmission In contrast to even parity, the parity bit is controlled so that the number of bits with the value "1" within the transmit data including the parity bit is odd. The parity bit value is as follows. * If the number of bits with the value "1" within the transmit data is odd: 0 * If the number of bits with the value "1" within the transmit data is even: 1 (ii) During reception The number of bits with the value "1" within the receive data including the parity bit is counted, and a parity error is generated if this number is even. (3) 0 parity During transmission the parity bit is set to "0" regardless of the transmit data. During reception, no parity bit check is performed. Therefore, no parity error is generated regardless of whether the parity bit is "0" or "1". (4) No parity No parity bit is added to the transmit data. During reception, the receive operation is performed as if there were no parity bit. Since there is no parity bit, no parity error is generated.
Preliminary User's Manual U17703EJ1V0UD
485
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.6.7 Receive data noise filter The RXDn signal is sampled at the rising edge of the prescaler output base clock (fUCLK). If the same sampling value is obtained twice, the match detector output changes, and this output is sampled as input data. Therefore, data not exceeding one clock width is judged to be noise and is not delivered to the internal circuit (refer to Figure 16-12). Refer to 16.7.1 (1) Base clock regarding the base clock. Also, since the circuit is configured as shown in Figure 16-11, internal processing during a receive operation is delayed by up to 2 clocks according to the external signal status. Figure 16-11. Noise Filter Circuit
Base clock
fUCLK
RXDn
In
Q
Internal signal A
In LD_EN
Q
Internal signal B
Match detector
Figure 16-12. Timing of RXDn Signal Judged as Noise
Base clock
RXDn (input)
Internal signal A
Match
Mismatch (judged as noise)
Match
Mismatch (judged as noise)
Internal signal B
486
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.7 Dedicated Baud Rate Generator n (BRGn)
A dedicated baud rate generator, which consists of a source clock selector and an 8-bit programmable counter, generates serial clocks during transmission/reception by UARTn. The dedicated baud rate generator output can be selected as the serial clock for each channel. Separate 8-bit counters exist for transmission and for reception. 16.7.1 Baud rate generator n (BRGn) configuration Figure 16-13. Configuration of Baud Rate Generator n (BRGn)
UARTEn
fXX fXX/2 fXX/4 fXX/8 fXX/16 fXX/32 fXX/64 fXX/128 fXX/256 fXX/512 fXX/1,024 ASCK0Note 2 Match detector 1/2 Baud rate Selector fUCLKNote 1 8-bit counter UARTEn and TXEn bits (or RXEn bit)
CKSRn: TPSn3 to TPSn0
BRGCn: MDLn7 to MDLn0
Notes 1.
Set fUCLK so as to satisfy the following conditions. * VDD = REGC = 4.5 to 5.5 V: fUCLK 12 MHz * VDD = 4.0 to 5.5 V, REGC = 10 F: fUCLK 6 MHz * VDD = REGC = 2.7 to 4.5 V: fUCLK 6 MHz
2. Remark
ASCK0 pin input can be used only by UART0. fXX: Main clock frequency
fUCLK: Base clock
(1) Base clock When the ASIMn.UARTEn bit = 1, the clock selected according to the CKSRn.TPSn3 to CKSRn.TPSn0 bits is supplied to the transmission/reception unit. This clock is called the base clock (fUCLK). When the UARTEn bit = 0, fUCLK is fixed to low level.
Preliminary User's Manual U17703EJ1V0UD
487
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.7.2 Serial clock generation A serial clock can be generated according to the settings of the CKSRn and BRGCn registers. The base clock to the 8-bit counter is selected by the CKSRn.TPSn3 to CKSRn.TPSn0 bits. The 8-bit counter divisor value can be set by the BRGCn.MDLn7 to BRGCn.MDLn0 bits. (1) Clock select register n (CKSRn) The CKSRn register is an 8-bit register for selecting the basic block using the TPSn3 to TPSn0 bits. The clock selected by the TPSn3 to TPSn0 bits becomes the base clock (fUCLK) of the transmission/reception module. This register can be read or written in 8-bit units. Reset sets this register to 00H. Caution Clear the ASIMn.UARTEn bit to 0 before rewriting the TPSn3 to TPSn0 bits.
After reset: 00H 7 CKSRn (n = 0 to 2) 0
R/W 6 0
Address: CKSR0 FFFFFA06H, CKSR1 FFFFFA16H, CKSR2 FFFFFA26H 5 0 4 0 3 TPSn3 2 TPSn2 1 TPSn1 0 TPSn0
TPSn3 0 0 0 0 0 0 0 0 1 1 1 1
TPSn2 0 0 0 0 1 1 1 1 0 0 0 0
TPSn1 0 0 1 1 0 0 1 1 0 0 1 1
TPSn0 0 1 0 1 0 1 0 1 0 1 0 1 fXX fXX/2 fXX/4 fXX/8 fXX/16 fXX/32 fXX/64 fXX/128 fXX/256 fXX/512 fXX/1,024 External clock
Note 2
Base clock (fUCLK)
Note 1
(ASCK0 pin)
Other than above
Setting prohibited
Notes 1. Set fUCLK so as to satisfy the following conditions. * REGC = VDD = 4.5 to 5.5 V: fUCLK 12 MHz * REGC = 10 F, VDD = 4.0 to 5.5 V: fUCLK 6 MHz * REGC = VDD = 2.7 to 4.5 V: fUCLK 6 MHz 2. ASCK0 pin input clock can be used only by UART0. Setting of UART1 and UART2 is prohibited. Remark fXX: Main clock frequency
488
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
(2) Baud rate generator control register n (BRGCn) The BRGCn register is an 8-bit register that controls the baud rate (serial transfer speed) of UARTn. This register can be read or written in 8-bit units. Reset sets this register to FFH. Caution If the MDLn7 to MDLn0 bits are to be overwritten, the ASIMn.TXEn and ASIMn.RXEn bits should be cleared to 0 first.
After reset: FFH 7 BRGCn (n = 0 to 2) MDLn7
R/W 6 MDLn6
Address: BRGC0 FFFFFA07H, BRGC1 FFFFFA17H, BRGC2 FFFFFA27H 5 MDLn5 4 MDLn4 3 MDLn3 2 MDLn2 1 MDLn1 0 MDLn0
MDLn7 MDLn6 MDLn5 MDLn4 MDLn3 MDLn2 MDLn1 MDLn0 Set value (k) 0 0 0 0 ... 0 0 0 0 ... 0 0 0 0 ... 0 0 0 0 ... 0 1 1 1 ... x 0 0 0 ... x 0 0 1 ... x 0 1 0 ... - 8 9 10 ...
Serial clock
Setting prohibited fUCLK/8 fUCLK/9 fUCLK/10 ... fUCLK/250 fUCLK/251 fUCLK/252 fUCLK/253 fUCLK/254 fUCLK/255
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
0 0 1 1 1 1
1 1 0 0 1 1
0 1 0 1 0 1
250 251 252 253 254 255
Remarks 1. fUCLK: Frequency [Hz] of base clock selected by CKSR0.TPSn3 to CKSR0.TPSn0 bits 2. k: Value set by MDLn7 to MDLn0 bits (k = 8, 9, 10, ..., 255) 3. The baud rate is the output clock for the 8-bit counter divided by 2. 4. x: don't care
Preliminary User's Manual U17703EJ1V0UD
489
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
(3) Baud rate The baud rate is the value obtained by the following formula.
Baud rate [bps] =
fUCLK 2xk
fUCLK = Frequency [Hz] of base clock selected by CKSRn.TPSn3 to CKSRn.TPSn0 bits. k = Value set by BRGCn.MDLn7 to BRGCn.MDLn0 bits (k = 8, 9, 10, ..., 255)
(4) Baud rate error The baud rate error is obtained by the following formula.
Error (%) =
Actual baud rate (baud rate with error) Target baud rate (normal baud rate)
-1 x 100 [%]
Cautions 1. Make sure that the baud rate error during transmission does not exceed the allowable error of the reception destination. 2. Make sure that the baud rate error during reception is within the allowable baud rate range during reception, which is described in 16.7.4 during reception. Allowable baud rate range
Example: Base clock frequency = 10 MHz = 10,000,000 Hz Setting of BRGCn.MDLn7 to BRGCn.MDLn0 bits = 00100001B (k = 33) Target baud rate = 153,600 bps Baud rate = 10,000,000/(2 x 33) = 151,515 [bps] Error = (151,515/153,600 - 1) x 100 = -1.357 [%]
490
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.7.3 Baud rate setting example Table 16-4. Baud Rate Generator Setting Data
fXX = 20 MHz fUCLK fXX/512 fXX/256 fXX/128 fXX/64 fXX/32 fXX/16 fXX/64 fXX/8 fXX/32 fXX/32 fXX/2 fXX/4 fXX/16 fXX/2 fXX/16 fXX/2 fXX/2 fXX/2 fXX/4 k 41H (65) 41H (65) 41H (65) 41H (65) 41H (65) 41H (65) 0FH (15) 41H (65) 0DH (13) 0AH (10) 95H (149) 41H (65) 0DH (13) 59H (89) 0AH (10) 41H (65) 2BH (43) 21H (33) 08H (8) ERR 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.00 -0.13 0.16 0.16 0.32 0.00 0.16 0.94 -1.36 0 fUCLK fXX/1024 fXX/1024 fXX/512 fXX/256 fXX/128 fXX/64 fXX/64 fXX/32 fXX/2 fXX/32 fXX/2 fXX/16 fXX/2 fXX/2 fXX/16 fXX/8 fXX/2 fXX/4 fXX/2 fXX = 16 MHz k 1AH (26) 0DH (13) 0DH (13) 0DH (13) 0DH (13) 0DH (13) 0CH (12) 0DH (13) A7H (167) 08H (8) 77H (119) 0DH (13) 53H (83) 47H (71) 08H (8) 0DH (13) 23H (35) 0DH (13) 0DH (13) ERR 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 -0.20 0.00 0.04 0.16 0.40 0.60 0.00 0.16 -0.79 0.16 -1.54 fUCLK fXX/256 fXX/128 fXX/64 fXX/32 fXX/16 fXX/8 fXX/32 fXX/4 fXX/16 fXX/16 fXX fXX/2 fXX/8 fXX fXX/8 fXX fXX fXX fXX/2 fXX = 10 MHz k 41H (65) 41H (65) 41H (65) 41H (65) 41H (65) 41H (65) 0FH (15) 41H (65) 0DH (13) 0AH (10) 95H (149) 41H (65) 0DH (13) 59H (89) 0AH (10) 41H (65) 2BH (43) 21H (33) 08H (8) ERR 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0.16 0 -0.13 0.16 0.16 0.32 0.00 0.16 0.94 -1.36 0.00
Baud Rate (bps) 300 600 1200 2400 4800 9600 10400 19200 24000 31250 33600 38400 48000 56000 62500 76800 115200 153600 312500
Caution
The allowable frequency of the base clock (fUCLK) is as follows. * REGC = VDD = 4.5 to 5.5 V: fUCLK 12 MHz * REGC = 10 F, VDD = 4.0 to 5.5 V: fUCLK 6 MHz * REGC = VDD = 2.7 to 4.5 V: fUCLK 6 MHz
Remark
fXX: fUCLK: k: ERR:
Main clock frequency Base clock frequency Set values of BRGCn.MDLn7 to BRGCn.MDLn0 bits Baud rate error [%]
n = 0 to 2
Preliminary User's Manual U17703EJ1V0UD
491
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.7.4 Allowable baud rate range during reception The degree to which a discrepancy from the transmission destination's baud rate is allowed during reception is shown below. Caution The equations described below should be used to set the baud rate error during reception so that it always is within the allowable error range. Figure 16-14. Allowable Baud Rate Range During Reception
Latch timing UARTn transfer rate
Start bit
Bit 0
Bit 1
Bit 7
Parity bit
Stop bit
FL 1 data frame (11 x FL)
Minimum allowable transfer rate
Start bit
Bit 0
Bit 1
Bit 7
Parity bit
Stop bit
FLmin
Maximum allowable transfer rate
Start bit
Bit 0
Bit 1
Bit 7
Parity bit
Stop bit
FLmax
As shown in Figure 16-14, after the start bit is detected, the receive data latch timing is determined according to the counter that was set by the BRGCn register. If all data up to the final data (stop bit) is in time for this latch timing, the data can be received normally. If this is applied to 11-bit reception, the following is theoretically true. FL = (Brate)-1 Brate: UARTn baud rate k: FL: BRGCn register set value 1-bit data length
When the latch timing margin is 2 base clocks, the minimum allowable transfer rate (FLmin) is as follows.
FL min = 11x FL - k-2 2k x FL = 21k + 2 2k
FL
492
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
Therefore, the transfer destination's maximum receivable baud rate (BRmax) is as follows.
BRmax = (FLmin/11)-1 =
22k 21k + 2 Brate
Similarly, the maximum allowable transfer rate (FLmax) can be obtained as follows.
10 k+2 21k - 2 x FL max = 11x FL - x FL = FL 11 2xk 2xk 21k - 2 FL max = FL x 11 20k
Therefore, the transfer destination's minimum receivable baud rate (BRmin) is as follows.
BRmin = (FLmax/11)-1 =
20k 21k - 2
Brate
The allowable baud rate error of UARTn and the transfer destination can be obtained as follows from the expressions described above for computing the minimum and maximum baud rate values. Table 16-5. Maximum and Minimum Allowable Baud Rate Error
Division Ratio (k) Maximum Allowable Baud Rate Error 8 20 50 100 255 +3.53% +4.26% +4.56% +4.66% +4.72% Minimum Allowable Baud Rate Error -3.61% -4.31% -4.58% -4.67% -4.73%
Remarks 1. The reception precision depends on the number of bits in one frame, the base clock frequency, and the division ratio (k). The higher the base clock frequency and the larger the division ratio (k), the higher the precision. 2. k: BRGCn register set value
Preliminary User's Manual U17703EJ1V0UD
493
CHAPTER 16 ASYNCHRONOUS SERIAL INTERFACE (UART)
16.7.5 Transfer rate during continuous transmission During continuous transmission, the transfer rate from a stop bit to the next start bit is extended two clocks of the base clock longer than normal. However, on the reception side, the transfer result is not affected since the timing is initialized by the detection of the start bit. Figure 16-15. Transfer Rate During Continuous Transmission
1 data frame
Start bit of second byte
Bit 7 Parity bit Stop bit
Start bit
Bit 0
Bit 1
Start bit
FL
Bit 0
FL
FL
FL
FL
FL
FLstp
FL
Representing the 1-bit data length by FL, the stop bit length by FLstp, and the base clock frequency by fUCLK yields the following equation. FLstp = FL + 2/fUCLK Therefore, the transfer rate during continuous transmission is as follows (when the stop bit length = 1). Transfer rate = 11 x FL + (2/fUCLK)
16.8 Cautions
Cautions to be observed when using UARTn are shown below. (1) When the supply of clocks to UARTn is stopped (for example, in IDLE or STOP mode), operation stops with each register retaining the value it had immediately before the supply of clocks was stopped. The TXDn pin output also holds and outputs the value it had immediately before the supply of clocks was stopped. However, operation is not guaranteed after the supply of clocks is restarted. Therefore, after the supply of clocks is restarted, the circuits should be initialized by clearing the ASIMn.UARTEn, ASIMn.RXEn, and ASIMn.TXEn bits to 000. (2) UARTn has a 2-stage buffer configuration consisting of the TXBn register and the transmission shift register, and has status flags (ASIFn.TXBFn and ASIFn.TXSFn bits) that indicate the status of each buffer. If the TXBFn and TXSFn bits are read in continuous transmission, the value changes 10 11 01. For the timing to write the next data to the TXBn register, read only the TXBFn bit during continuous transmission.
494
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
In the V850ES/KG2, two channels of clocked serial interface 0 (CSI0) are provided.
17.1 Features
* * * * * *
Maximum transfer speed: 5 Mbps Master mode/slave mode selectable Transmission data length: 8 bits or 16 bits can be set MSB/LSB-first selectable for transfer data Eight clock signals can be selected (7 master clocks and 1 slave clock) 3-wire type SO0n: SI0n: Serial transmit data output Serial receive data input
SCK0n: Serial clock I/O
* Interrupt sources: 1 type
* Transmission/reception completion interrupt request signal (INTCSI0n)
* Transmission/reception mode or reception-only mode selectable * Two transmission buffer registers (SOTBFn/SOTBFLn, SOTBn/SOTBLn) and two reception buffer registers
(SIRBn/SIRBLn, SIRBEn/SIRBELn) are provided on chip
* Single transfer mode/continuous transfer mode selectable
Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
495
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
17.2 Configuration
CSI0n is controlled via the CSIM0n register. (1) Clocked serial interface mode register 0n (CSIM0n) The CSIM0n register is an 8-bit register that specifies the operation of CSI0n. (2) Clocked serial interface clock selection register n (CSICn) The CSICn register is an 8-bit register that controls the CSI0n serial transfer operation. (3) Serial I/O shift register 0n (SIO0n) The SIO0n register is a 16-bit shift register that converts parallel data into serial data. The SIO0n register is used for both transmission and reception. Data is shifted in (reception) and shifted out (transmission) from the MSB or LSB side. The actual transmission/reception operations are started up by accessing the buffer register. (4) Serial I/O shift register 0nL (SIO0nL) The SIO0nL register is an 8-bit shift register that converts parallel data into serial data. The SIO0nL register is used for both transmission and reception. Data is shifted in (reception) and shifted out (transmission) from the MSB or LSB side. The actual transmission/reception operations are started up by access of the buffer register . (5) Clocked serial interface receive buffer register n (SIRBn) The SIRBn register is a 16-bit buffer register that stores receive data. (6) Clocked serial interface receive buffer register nL (SIRBnL) The SIRBnL register is an 8-bit buffer register that stores receive data. (7) Clocked serial interface read-only receive buffer register n (SIRBEn) The SIRBEn register is a 16-bit buffer register that stores receive data. The SIRBEn register is the same as the SIRBn register. It is used to read the contents of the SIRBn register. (8) Clocked serial interface read-only receive buffer register nL (SIRBEnL) The SIRBEnL register is an 8-bit buffer register that stores receive data. The SIRBEnL register is the same as the SIRBnL register. It is used to read the contents of the SIRBnL register. (9) Clocked serial interface transmit buffer register n (SOTBn) The SOTBn register is a 16-bit buffer register that stores transmit data. (10) Clocked serial interface transmit buffer register nL (SOTBLnL) The SOTBnL register is an 8-bit buffer register that stores transmit data. (11) Clocked serial interface initial transmit buffer register n (SOTBFn) The SOTBFn register is a 16-bit buffer register that stores the initial transmit data in the continuous transfer mode.
496
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
(12) Clocked serial interface initial transmit buffer register nL (SOTBFnL) The SOTBFnL register is an 8-bit buffer register that stores initial transmit data in the continuous transfer mode. (13) Selector The selector selects the serial clock to be used. (14) Serial clock controller Controls the serial clock supply to the shift register. Also controls the clock output to the SCK0n pin when the internal clock is used. (15) Serial clock counter Counts the serial clock output or input during transmission/reception, and checks whether 8-bit or 16-bit data transmission/reception has been performed. (16) Interrupt controller Controls the interrupt request timing. Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
497
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
Figure 17-1. Block Diagram of Clocked Serial Interface
fXX/26 fXX/25 fXX/24 fXX/23 fXX/22 fXX/2 TO50, TO51 SCK0n Selector
Serial clock controller Clock start/stop control & clock phase control SCK0n
Interrupt controller
INTCSI0n
Transmission control
Transmission data control
Initial transmit buffer register (SOTBFn/SOTBFnL)
Control signal
SO selection
SO0n
Transmit buffer register (SOTBn/SOTBnL)
SI0n
Shift register (SIOn/SIO0nL)
SO latch
Receive buffer register (SIRBn/SIRBnL)
Remarks 1. n = 0, 1 2. fXX: Main clock
498
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
17.3 Registers
(1) Clocked serial interface mode register 0n (CSIM0n) The CSIM0n register controls the CSI0n operation. This register can be read or written in 8-bit or 1-bit units (however, CSOTn bit is read-only). Reset sets CSIM0n to 00H. Caution Overwriting the CSIM0n.TRMDn, CSIM0n.CCLn, CSIM0n.DIRn, CSIM0n.CSITn, and
CSIM0n.AUTOn bits can be done only when the CSOTn bit = 0. If these bits are overwritten at any other time, the operation cannot be guaranteed.
Preliminary User's Manual U17703EJ1V0UD
499
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
After reset: 00H <7> CSIM0n (n = 0, 1) CSI0En
R/W <6> TRMDn
Address: CSIM00 FFFFFD00H, CSIM01 FFFFFD10H 5 CCLn <4> DIRn 3 CSITn 2 AUTOn 1 0 <0> CSOTn
CSI0En 0 1 Disable CSI0n operation. Enable CSI0n operation.
Note
CSI0n operation enable/disable
The internal CSI0n circuit can be reset
asynchronously by clearing the CSI0En bit to 0. For the SCK0n and SO0n
pin output status when the CSI0En bit = 0, refer to 17.5 Output Pins.
TRMDn 0 1 Receive-only mode Transmission/reception mode
Specification of transmission/reception mode
When the TRMDn bit = 0, reception is performed and the SO0n pin outputs a low level. Data reception is started by reading the SIRBn register. When the TRMDn bit = 1, transmission/reception is started by writing data to the SOTBn register.
CCLn 0 1 8 bits 16 bits
Specification of data length
DIRn 0 1
Specification of transfer direction mode (MSB/LSB) First bit of transfer data is MSB First bit of transfer data is LSB
CSITn 0 1 No delay
Control of delay of interrupt request signal
Delay mode (interrupt request signal is delayed 1/2 cycle compared to the serial clock)
The delay mode (CSITn bit = 1) is valid only in the master mode (CSICn.CKS0n2 to CSICn.CSK0n0 bits are not 111B). In the slave mode (CKS0n2 to CKS0n0 bits are 111B), do not set the delay mode.
AUTOn 0 1
Specification of single transfer mode or continuous transfer mode Single transfer mode Continuous mode
CSOTn 0 1 Communication stopped Communication in progress
Communication status flag
The CSOTn bit is cleared (0) by writing 0 to the CSI0En bit.
Note The CSOTn bit and the SIRBn, SIRBnL, SIRBE, SIRBEnL, SIOn, and SIOnL registers are reset.
500
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
(2) Clocked serial interface clock selection register n (CSICn) The CSICn register is an 8-bit register that controls the CSI0n transfer operation. This register can be read or written in 8-bit or 1-bit units. Reset sets CSICn to 00H. Caution The CSICn register can be overwritten only when the CSIM0n.CSI0En bit = 0.
After reset: 00H 7 CSICn (n = 0, 1)
CKPn 0 DAPn 0
R/W 6 0
Address: CSIC0 FFFFFD01H, CSIC1 FFFFFD11H 5 0 4 CKPn 3 DAPn 2 CKS0n2 1 CKS0n1 0 CKS0n0
0
Specification of timing of transmitting/receiving data to/from SCK0n (Type 1)
SCK0n (I/O) SO0n (output) SI0n (input) DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0 DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0
0
1
(Type 2)
SCK0n (I/O) SO0n (output) SI0n (input)
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0
1
0
(Type 3)
SCK0n (I/O) SO0n (output) SI0n (input)
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0
1
1
(Type 4)
SCK0n (I/O) SO0n (output) SI0n (input) DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0 DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0
CKS0n2 CKS0n1 CKS0n0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 fXX/2 fXX/2 fXX/2 fXX/2 fXX/2 fXX/2
2
Serial clock
Note
Mode Master mode Master mode Master mode Master mode Master mode Master mode Master mode Slave mode
3
4
5
6
Clock generated by TO5n External clock (SCK0n pin)
Note Set the serial clock so as to satisfy the following conditions. * REGC = VDD = 4.0 to 5.5 V: Serial clock 5 MHz * REGC = 10 F, VDD = 4.0 to 5.5 V: Serial clock 2.5 MHz * REGC = VDD = 2.7 to 4.0 V: Serial clock 2.5 MHz Remark fXX: Main clock frequency
Preliminary User's Manual U17703EJ1V0UD
501
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
(3) Clocked serial interface receive buffer registers n, nL (SIRBn, SIRBnL) The SIRBn register is a 16-bit buffer register that stores receive data. When the receive-only mode is set (CSIM0n.TRMDn bit = 0), the reception operation is started by reading data from the SIRBn register. This register is read-only in 16-bit units. When the lower 8 bits are used as the SIRBnL register, this register is read-only in 8-bit units. In addition to reset input, this register can also be initialized by clearing (0) the CSIM0n.CSI0En bit. Cautions 1. Read the SIRBn register only when a 16-bit data length has been set (CSIM0n.CCLn bit = 1). Read the SIRBnL register only when an 8-bit data length has been set (CCLn bit = 0). 2. When the single transfer mode has been set (CSIM0n.AUTOn bit = 0), perform a read operation only in the idle state (CSIM0n.CSOTn bit = 0). If the SIRBn or SIRBnL register is read during data transfer, the data cannot be guaranteed.
(a) SIRBn register
After reset: 0000H 15 SIRBn (n = 0, 1) 14 13 R 12 Address: SIRB0 FFFFFD02H, SIRB1 FFFFFD12H 11 10 9 8 7 6 5 4 3 2 1 0
SIRBn SIRBn SIRBn SIRBn SIRBn SIRBn SIRBn SIRBn SIRBn SIRBn SIRBn SIRBn SIRBn SIRBn SIRBn SIRBn 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
(b) SIRBnL register
After reset: 00H 7 SIRBnL (n = 0, 1) SIRBn7 R 6 SIRBn6 Address: SIRB0L FFFFFD02H, SIRB1L FFFFFD12H 5 SIRBn5 4 SIRBn4 3 SIRBn3 2 SIRBn2 1 SIRBn1 0 SIRBn0
502
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
(4) Clocked serial interface read-only receive buffer registers n, nL (SIRBEn, SIRBEnL) The SIRBEn register is a 16-bit buffer register that stores receive data. The SIRBEn register is the same as the SIRBn register. Even if the SIRBEn register is read, the next operation will not start. The SIRBEn register is used to read the contents of the SIRBn register when the serial reception is not continued. This register is read-only in 16-bit units. However, when the lower 8 bits are used as the SIRBEnL register, the register is read-only in 8-bit units. In addition to reset input, this register can also be initialized by clearing (0) the CSIM0n.CSI0En bit. Cautions 1. The receive operation is not started even if data is read from the SIRBEn and SIRBEnL registers. 2. The SIRBEn register can be read only if a 16-bit data length has been set (CSIM0n.CCLn bit = 1). The SIRBEnL register can be read only if an 8-bit data length has been set (CCLn bit = 0).
(a) SIRBEn register
After reset: 0000H 15 SIRBEn (n = 0, 1) 14 R 13 Address: SIRBE0 FFFFFD06H, SIRBE1 FFFFFD16H 12 11 10 9 8 7 6 5 4 3 2 1 0
SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn SIRBEn 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
(B) SIRBEnL register
After reset: 00H 7 SIRBEnL (n = 0, 1) R 6 Address: SIRBE0L FFFFFD06H, SIRBE1L FFFFFD16H 5 4 3 2 1 0
SIRBEn7 SIRBEn6 SIRBEn5 SIRBEn4 SIRBEn3 SIRBEn2 SIRBEn1 SIRBEn0
Preliminary User's Manual U17703EJ1V0UD
503
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
(5) Clocked serial interface transmit buffer registers n, nL (SOTBn, SOTBnL) The SOTBn register is a 16-bit buffer register that stores transmit data. When the transmission/reception mode is set (CSIM0n.TRMDn bit = 1), the transmission operation is started by writing data to the SOTBn register. This register can be read or written in 16-bit units. However, when the lower 8 bits are used as the SOTBnL register, the register is read-only in 8-bit units. After reset, this register is initialized. Cautions 1. Access the SOTBn register only when a 16-bit data length has been set (CSIM0n.CCLn bit = 1). Access the SOTBnL register only when an 8-bit data length has been set (CCLn bit = 0). 2. When the single transfer mode is set (CSIM0n.AUTOn bit = 0), perform access only in the idle state (CSIM0n.CSOTn bit = 0). If the SOTBn and SOTBnL registers are accessed during data transfer, the data cannot be guaranteed.
(a) SOTBn register
After reset: 0000H 15 SOTBn (n = 0, 1) 14 R/W 13 12 Address: SOTB0 FFFFFD04H, SOTB1 FFFFFD14H 11 10 9 8 7 6 5 4 3 2 1 0
SOTBn SOTBn SOTBn SOTBn SOTBn SOTBn SOTBn SOTBn SOTBn SOTBn SOTBn SOTBn SOTBn SOTBn SOTBn SOTBn 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
(b) SOTBnL register
After reset: 00H 7 SOTBnL (n = 0, 1) R/W 6 Address: SOTB0L FFFFFD04H, SOTB1L FFFFFD14H 5 4 3 2 1 0
SOTBn7 SOTBn6 SOTBn5 SOTBn4 SOTBn3 SOTBn2 SOTBn1 SOTBn0
504
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
(6) Clocked serial interface initial transmit buffer registers n, nL (SOTBFn, SOTBFnL) The SOTBFn register is a 16-bit buffer register that stores initial transmission data in the continuous transfer mode. The transmission operation is not started even if data is written to the SOTBFn register. This register can be read or written in 16-bit units. However, when the lower 8 bits are used as the SOTBFnL register, the register can be read or written in 8-bit units. After reset, this register is initialized. Caution Access the SOTBFn register and SOTBFnL register only when a 16-bit data length has been set (CSIM0n.CCLn bit = 1), and only when an 8-bit data length has been set (CCLn bit = 0), respectively, and only in the idle state (CSIM0n.CSOTn bit = 0). If the SOTBFn and SOTBFnL registers are accessed during data transfer, the data cannot be guaranteed.
(a) SOTBFn register
After reset: 0000H 15 SOTBFn (n = 0, 1) 14 R/W 13 12 Address: SOTBF0 FFFFFD08H, SOTBF1 FFFFFD18H 11 10 9 8 7 6 5 4 3 2 1 0
SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn SOTBFn 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
(b) SOTBFnL register
After reset: 00H 7 SOTBFnL (n = 0, 1) R/W 6 Address: SOTBF0L FFFFFD08H, SOTBF1L FFFFFD18H 5 4 3 2 1 0
SOTBFn7 SOTBFn6 SOTBFn5 SOTBFn4 SOTBFn3 SOTBFn2 SOTBFn1 SOTBFn0
Preliminary User's Manual U17703EJ1V0UD
505
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
(7)
Serial I/O shift registers n, nL (SIO0n, SIO0nL) The SIO0n register is a 16-bit shift register that converts parallel data into serial data. The transfer operation is not started even if the SIO0n register is read. This register is read-only in 16-bit units. However, when the lower 8 bits are used as the SIO0nL register, the register is read-only in 8-bit units. In addition to reset input, this register can also be initialized by clearing (0) the CSIM0n.CSI0En bit. Caution Read the SIO0n register and SIO0nL register only when a 16-bit data length has been set (CSIM0n.CCLn bit = 1), and only when an 8-bit data length has been set (CCLn bit = 0), respectively, and only in the idle state (CSIM0n.CSOTn bit = 0). If the SIO0n and SIO0nL registers are read during data transfer, the data cannot be guaranteed.
(a) SIO0n register
After reset: 0000H 15 SIO0n (n = 0, 1) 14 13 R 12 Address: SIO00 FFFFFD0AH, SIO01 FFFFFD1AH 11 10 9 8 7 6 5 4 3 2 1 0
SIOn15 SIOn14 SIOn13 SIOn12 SIOn11 SIOn10 SIOn9 SIOn8 SIOn7 SIOn6 SIOn5 SIOn4 SIOn3 SIOn2 SIOn1 SIOn0
(b) SIO0nL register
After reset: 00H 7 SIO0nL (n = 0, 1) SIOn7 R 6 SIOn6 Address: SIO00L FFFFFD0AH, SIO01L FFFFFD1AH 5 SIOn5 4 SIOn4 3 SIOn3 2 SIOn2 1 SIOn1 0 SIOn0
506
Preliminary User's Manual U17703EJ1V0UD
Table 17-1. Use of Each Buffer Register
Register Name SIRBn (SIRBnL) R/W Single Transfer Transmission/Reception Mode Read Function Storing received dataNote 2 Receive-Only Mode * Reading starts reception * Storing received data * First, read dummy data and start transfer. * To perform reception of the next data after reception is complete, read the received data from this register. Continuous TransferNote 1 Transmission/Reception Mode Storing up to the (N - 1)th received data (other than the last)Note 2 When reception is complete, read the received data from this register. Repeat this operation until the (N - 1)th data has been received. Receive-Only Mode * Reading starts reception * Storing up to the (N - 2)th data (other than the last two) When reception is complete, read the received data from this register. Repeat this operation until the (N - 2)th data has been received. (Supplement) Do not read the (N - 1)th data from this register. If read, a reception operation starts and continuous transfer cannot be completed. Storing the (N - 1)th received dataNote 2 Read the (N - 1)th received data from this register when the (N - 1)th or Nth (last) data has been received. Storing the Nth (last) received dataNote 2 When the Nth (last) data has been received, read the Nth (last) data. -
Use method
When transmission and reception are complete, read the received data from this register.
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
Preliminary User's Manual U17703EJ1V0UD
SIRBEn (SIRBEnL)
Read
Function Use method Not used.
-
Storing the data received lastNote 2 If reception of the next data will not be performed after reception is complete, read the received data from this register. Not used
-
SIO0n (SIO0nL)
Read
Function Use method Not used.
- Not used
-
Storing the Nth (last) received dataNote 2 When the Nth (last) transmission/reception is complete, read the Nth (last) data.
SOTBn (SOTBnL)
Write
Function
* Starting transmission/reception when written * Storing the data to be transmitted * When transmission/reception is complete, write the data to be transmitted next. - Not used Not used
-
* Starting transmission/reception when written * Storing the data to be transmitted second and subsequently When transmission/reception is complete, write the data to be transmitted next to this register to start the next transmission/reception. Not used
Use method
Not used
SOTBFn (SOTBFnL)
Write
Function Use method
-
Storing the data to be transmitted firstNote 2 Before starting transmission/reception (writing to SOTBn), write the data to be transmitted first. Not used
-
Notes 1. It is assumed that the number of data to be transmitted is N. 2. Neither reading nor writing will start communication. Remark In the 16-bit mode, the registers not enclosed in parentheses are used; in the 8-bit mode, the registers in parentheses are used.
507
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
17.4 Operation
17.4.1 Transmission/reception completion interrupt request signal (INTCSI0n) The INTCSI0n signal is set (1) upon completion of data transmission/reception. Writing to the CSIM0n register clears (0) the INTCSI0n signal. Caution The delay mode (CSIM0n.CSITn bit = 1) is valid only in the master mode (CSICn.CKS0n2 to CSICn.CKS0n0 bits are not 111B). The delay mode cannot be set when the slave mode is set (CKS0n2 to CKS0n0 bits = 111B).
508
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
Figure 17-2. Timing Chart of INTCSI0n Signal Output in Delay Mode
(a) Transmit/receive type 1
Input clock
SCK0n (I/O)
SI0n (input)
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
SO0n (output)
DO7
DO6
DO5
DO4
DO3
DO2
DO1
DO0
Reg_R/W
INTCSI0n signal
CSOTn bit Delay
(b) Transmit/receive type 4
Input clock
SCK0n (I/O)
SI0n (input)
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
SO0n (output)
DO7
DO6
DO5
DO4
DO3
DO2
DO1
DO0
Reg_R/W
INTCSI0n signal
CSOTn bit Delay
Remarks 1. Reg_R/W: Internal signal. This signal indicates that the SIRBn/SIRBnL register read or the SOTBn/SOTBnL register write was performed. 2. n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
509
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
17.4.2 Single transfer mode (1) Usage In the receive-only mode (CSIM0n.TRMDn bit = 0), communication is started by reading the SIRBn/SIRBnL register. In the transmission/reception mode (TRMDn bit = 1), communication is started by writing to the SOTBn/SOTBnL register. In the slave mode, the operation must be enabled beforehand (CSIM0n.CSI0En bit = 1). When communication is started, the value of the CSIM0n.CSOTn bit becomes 1 (transmission execution status). Upon communication completion, the transmission/reception completion interrupt request signal (INTCSI0n) is generated, and the CSOTn bit is cleared (0). The next data communication request is then waited for. Caution Remark When the CSOTn bit = 1, do not manipulate the CSI0n register. n = 0, 1
510
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
Figure 17-3. Timing Chart in Single Transfer Mode (1/2)
(a) In transmission/reception mode, data length: 8 bits, transfer direction: MSB first, no interrupt delay, single transfer mode, when AAH is received and 55H is transmitted, transmit/receive type 1
SCK0n (I/O)
SO0n (output)
0
1
0
1
0
1
0
1
(55H)
SI0n (input)
1
0
1
0
1
0
1
0
(AAH)
Reg_R/W SOTBnL register SIO0nL register SIRBnL register
Write 55H to SOTBnL register
55H (transmit data)
ABH
56H
ADH
5AH
B5H
6AH
D5H
AAH
AAH
CSOTn bit INTCSI0n signal
Remarks 1. Reg_R/W: Internal signal. This signal indicates that the SIRBn/SIRBnL register read or the SOTBn/SOTBnL register write was performed. 2. For the transmit/receive types, refer to 17.3 (2) register n (CSICn). 3. n = 0, 1 Clocked serial interface clock selection
Preliminary User's Manual U17703EJ1V0UD
511
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
Figure 17-3. Timing Chart in Single Transfer Mode (2/2)
(b) In transmission/reception mode, data length: 8 bits, transfer direction: MSB first, no interrupt delay, single transfer mode, when AAH is received and 55H is transmitted, transmit/receive type 2
SCK0n (I/O)
SO0n (output)
0
1
0
1
0
1
0
1
(55H)
SI0n (input)
1
0
1
0
1
0
1
0
(AAH)
Reg_R/W SOTBnL register SIO0nL register SIRBnL register CSOTn bit INTCSI0n signal
Write 55H to SOTBnL register
55H (transmit data)
ABH
56H
ADH
5AH
B5H
6AH
D5H
AAH
AAH
Remarks 1. Reg_R/W: Internal signal. This signal indicates that the SIRBn/SIRBnL register read or the SOTBn/SOTBnL register write was performed. 2. For the transmit/receive types, refer to 17.3 (2) register n (CSICn). 3. n = 0, 1 Clocked serial interface clock selection
512
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
17.4.3 Continuous transfer mode (1) Usage (receive-only: 8-bit data length) <1> Set the continuous transfer mode (CSIM0n.AUTOn bit = 1) and the receive-only mode (CSIM0n.TRMDn bit = 0). <2> Read the SIRBnL register (start transfer with dummy read). <3> When the transmission/reception completion interrupt request signal (INTCSI0n) has been generated, read the SIRBnL registerNote (reserve next transfer). <4> Repeat step <3> (N - 2) times. (N: Number of transfer data) Ignore the interrupt triggered by reception of the (N - 1)th data (at this time, the SIRBEnL register can be read). <5> Following generation of the last INTCSI0n signal, read the SIRBEnL register and the SIO0nL registerNote. Note When transferring N number of data, receive data is loaded by reading the SIRBnL register from the first data to the (N - 2)th data. The (N - 1)th data is loaded by reading the SIRBEnL register, and the Nth (last) data is loaded by reading the SIO0nL register (refer to Table 17-1 Use of Each Buffer Register).
Preliminary User's Manual U17703EJ1V0UD
513
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
Figure 17-4. Continuous Transfer (Receive-Only) Timing Chart
* Transmit/receive type 1, 8-bit data length
SCK0n (I/O) SI0n (input) SIO0nL register SIRBnL register
din-1
din-2
din-3
din-4
din-5 din-5
din-1 SIRBn (dummy) SIRBn (1)
din-2
din-3 SIRBn (d2)
din-4 SIRBn (d3) SIRBEn (d4) SIO0n (d5)
Reg-RD
CSOTn bit INTCSI0n signal SO0n (output)
L
rq_clr trans_rq <1> <2> <3> <4>
Period during which next transfer can be reserved
<3>
<3>
<5>
Remarks 1. Reg_RD: Internal signal. This signal indicates that the SIRBnL register has been read. rq_clr: trans_rq: 2. n = 0, 1 Internal signal. Transfer request clear signal. Internal signal. Transfer request signal.
In the case of the continuous transfer mode, two transfer requests are set at the start of the first transfer. Following the INTCSI0n signal, transfer is continued if the SIRBnL register can be read within the next transfer reservation period. If the SIRBnL register cannot be read, transfer ends and the SIRBnL register does not receive the new value of the SIO0nL register. The last data can be obtained by reading the SIO0nL register following completion of the transfer.
514
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
(2) Usage (transmission/reception: 8-bit data length) <1> Set the continuous transfer mode (CSIM0n.AUTOn bit = 1) and the transmission/reception mode (CSIM0n.TRMDn bit = 1). <2> Write the first data to the SOTBFnL register. <3> Write the 2nd data to the SOTBnL register (start transfer). <4> When the transmission/reception completion interrupt request signal (INTCSI0n) has been generated, write the next data to the SOTBnL register (reserve next transfer). Read the SIRBnL register to load the receive data. <5> Repeat step <4> as long as data to be sent remains. <6> When the INTCSI0n signal is generated, read the SIRBnL register to load the (N - 1)th receive data (N: Number of transfer data). <7> Following the last INTCSI0n signal, read the SIO0nL register to load the Nth (last) receive data.
Preliminary User's Manual U17703EJ1V0UD
515
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
Figure 17-5. Continuous Transfer (Transmission/Reception) Timing Chart
* Transmit/receive type 1, 8-bit data length
SCK0n (I/O) SO0n (output) SI0n (input) SOTBFnL register SOTBnL register SIO0nL register SIRBnL register dout-1 dout-2 dout-3 dout-4 dout-5 din-5 din-1 SOTBn (d3) SIRBn (d1) din-2 din-3 SOTBn (d4) SIRBn (d2) din-4 SOTBn (d5) SIRBn (d3) SIRBn (d4) SIOn (d5) dout-1 din-1 dout-2 din-2 dout-3 din-3 dout-4 din-4 dout-5 din-5
SOTBFn (d1) Reg_WR SOTBn (d2) Reg_RD
CSOTn bit INTCSI0n signal rq_clr trans_rq <1> <2> <3> <4> <5> <4> <6> Period during which next transfer can be reserved <5> <4> <5> <7> <8>
Remarks 1. Reg_WR: Internal signal. This signal indicates that the SOTBnL register has been written. Reg_RD: Internal signal. This signal indicates that the SIRBnL register has been read. rq_clr: trans_rq: 2. n = 0, 1 Internal signal. Transfer request clear signal. Internal signal. Transfer request signal.
In the case of the continuous transfer mode, two transfer requests are set at the start of the first transfer. Following the INTCSI0n signal, transfer is continued if the SOTBnL register can be written within the next transfer reservation period. If the SOTBnL register cannot be written, transfer ends and the SIRBnL register does not receive the new value of the SIO0nL register. The last receive data can be obtained by reading the SIO0nL register following completion of the transfer.
516
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
(3) Next transfer reservation period In the continuous transfer mode, the next transfer must be prepared with the period shown in Figure 17-6. Figure 17-6. Timing Chart of Next Transfer Reservation Period (1/2)
(a) When data length: 8 bits, transmit/receive type 1
SCK0n (I/O)
INTCSI0n signal Reservation period: 7 SCK0n cycles
(b) When data length: 16 bits, transmit/receive type 1
SCK0n (I/O)
INTCSI0n signal Reservation period: 15 SCK0n cycles
Remark
n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
517
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
Figure 17-6. Timing Chart of Next Transfer Reservation Period (2/2)
(c) When data length: 8 bits, transmit/receive type 2
SCK0n (I/O) INTCSI0n signal Reservation period: 6.5 SCK0n cycles
(d) When data length: 16 bits, transmit/receive type 2
SCK0n (I/O) INTCSI0n signal Reservation period: 14.5 SCK0n cycles
Remark
n = 0, 1
518
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
(4) Cautions To continue continuous transfers, it is necessary to either read the SIRBn register or write to the SOTBn register during the transfer reservation period. If access is performed to the SIRBn register or the SOTBn register when the transfer reservation period is over, the following occurs. (i) In case of conflict between transfer request clear and register access Since transfer request clear has higher priority, the next transfer request is ignored. Therefore, transfer is interrupted, and normal data transfer cannot be performed. Figure 17-7. Transfer Request Clear and Register Access Conflict
Transfer reservation period SCK0n (I/O) INTCSI0n signal
rq_clr
Reg_R/W
Remarks 1. rq_clr:
Internal signal. Transfer request clear signal. SOTBn/SOTBnL register write was performed.
Reg_R/W: Internal signal. This signal indicates that the SIRBn/SIRBnL register read or the 2. n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
519
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
(ii) In case of conflict between transmission/reception completion interrupt request signal (INTCSI0n) generation and register access Since continuous transfer has stopped once, executed as a new continuous transfer. In the slave mode, a bit phase error transfer error results (refer to Figure 17-8). In the transmission/reception mode, the value of the SOTBFn register is retransmitted, and illegal data is sent. Figure 17-8. Interrupt Request and Register Access Conflict
Transfer reservation period SCK0n (I/O) INTCSI0n signal
0
1
2
3
4
rq_clr
Reg_R/W
Remarks 1. rq_clr: Internal signal. Transfer request clear signal. Reg_R/W: Internal signal. This signal indicates that the SIRBn/SIRBnL register read or the SOTBn/SOTBnL register write was performed. 2. n = 0, 1
520
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 17 CLOCKED SERIAL INTERFACE 0 (CSI0)
17.5 Output Pins
The following describes the output pins. For the setting of each pin, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. (1) SCK0n pin When the CSI0n operation is disabled (CSIM0n.CSI0En bit = 0), the SCK0n pin output status is as follows. Table 17-2. SCK0n Pin Output Status
CKPn 0 1 CKS0n2 Don't care 1 Other than above CKS0n1 Don't care 1 CKS0n0 Don't care 1 SCK0n Pin Output Fixed to high level High impedance Fixed to low level
Remark (2) SO0n pin
n = 0, 1
When the CSI0n operation is disabled (CSI0En bit = 0), the SO0n pin output status is as follows. Table 17-3. SO0n Pin Output Status
TRMDn 0 1 DAPn Don't care 0 1 AUTOn Don't care Don't care 0 CCLn Don't care Don't care 0 DIRn Don't care Don't care 0 1 1 0 1 1 0 0 1 1 0 1 SO0n Pin Output Fixed to low level SO latch value (low level) SOTBn7 bit value SOTBn0 bit value SOTBn15 bit value SOTBn0 bit value SOTBFn7 bit value SOTBFn0 bit value SOTBFn15 bit value SOTBFn0 bit value
Remark
n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
521
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
In the V850ES/KG2, two channels of clocked serial interface A (CSIA) with automatic transmit/receive function are provided.
18.1 Functions
CSIAn has the following two modes. * 3-wire serial I/O mode * 3-wire serial I/O mode with automatic transmit/receive function (1) 3-wire serial I/O mode This mode is used to transfer 8-bit data using three lines: a serial clock pin (SCKAn) and two serial data pins (SIAn and SOAn). In addition, whether 8-bit data is transferred MSB or LSB first can be specified, so this interface can be connected to any device. (2) 3-wire serial I/O mode with automatic transmit/receive function This mode is used to transfer 8-bit data using three lines: a serial clock pin (SCKAn) and two serial data pins (SIAn and SOAn). In addition, whether 8-bit data is transferred MSB or LSB first can be specified, so this interface can be connected to any device. Data can be transferred to/from a display driver etc. without using software since a 32-byte buffer RAM is incorporated for automatic transfer. * Maximum transfer speed: 2 Mbps (in master mode) * Master mode/slave mode selectable * Transfer data length: 8 bits * MSB/LSB-first selectable for transfer data * Automatic transmit/receive function: Number of transfer bytes can be specified between 1 and 32 Transfer interval can be specified (0 to 63 clocks) Single transfer/repeat transfer selectable * On-chip dedicated baud rate generator (6/8/16/32 divisions) * 3-wire SOAn: SIAn: Serial data output Serial data input
SCKAn: Serial clock I/O * Transmission/reception completion interrupt request signal: INTCSIAn * Internal 32-byte buffer RAM (used in 3-wire serial I/O mode with automatic transmit/receive function) Remark n = 0, 1
522
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
18.2 Configuration
CSIAn includes the following hardware. Table 18-1. Configuration of CSIAn
Item Register Configuration Serial I/O shift register An (SIOAn) Automatic data transfer address count register n (ADTCn) CSIAn buffer RAM (CSIAnBm, CSIAnBmL, CSIAnBmH) (m = 0 to F) Control registers Serial operation mode specification register n (CSIMAn) Serial status register n (CSISn) Serial trigger register n (CSITn) Divisor selection register n (BRGCAn) Automatic data transfer address point specification register n (ADTPn) Automatic data transfer interval specification register n (ADTIn)
Remark
For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions.
Preliminary User's Manual U17703EJ1V0UD
523
524
Buffer RAM DIRAn SIAn
Serial I/O shift register An (SIOAn)
Figure 18-1. Block Diagram of CSIAn
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
Automatic data transfer address point specification register n (ADTPn)
Automatic data transfer address count register n (ADTCn)
Internal bus
Serial trigger register n (CSITn) ATMn
Divisor selection register n (BRGCAn)
Preliminary User's Manual U17703EJ1V0UD
ATSTPn ATSTAn Serial status register n (CSISn) CKSAn1 CKSAn0 TSFn
RXEAn SOAn TXEAn 2 2 Serial clock counter Serial transfer controller SCKAn Interrupt generator INTCSIAn
Selector
fXX/6 to fXX/256
Selector
fXX
Automatic data transfer interval specification register n (ADTIn)
6-bit counter
MASTERn
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(2) Serial status register n (CSISn) This is an 8-bit register used to select the serial clock and to indicate the transfer status of CSIAn. This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H. However, rewriting the CSISn register is prohibited when the TSFn bit is 1.
After reset: 00H 7 CSISn (n = 0, 1)
R/W 6
Address: CSIS0 FFFFFD41H, CSIS1 FFFFD51H 5 0 4 0 3 0 2 0 1 0 0 TSFn
CKSAn1 CKSAn0
CKSAn1 CKSAn0
Serial clock (fSCKA) selectionNote 20 MHz 16 MHz 10 MHz 100 ns 200 ns 400 ns 800 ns
0 0 1 1
0 1 0 1
fXX fXX/2 fXX/4 fXX/8
Setting prohibited Setting prohibited 100 ns 200 ns 400 ns 125 ns 250 ns 500 ns
Rewriting CSISn is prohibited when the CSIMAn.CSIAEn bit is 1. TSFn 0 Transfer status CSIAEn bit = 0 At reset input At completion of specified transfer When transfer has been suspended by setting the CSITn.ATSTPn bit to 1 From transfer start to completion of specified transfer
1
Note Set fSCKA so as to satisfy the following conditions. * REGC = VDD = 4.0 to 5.5 V: fSCKA 12 MHz * REGC = 10 F, VDD = 4.0 to 5.5 V: fSCKA 6 MHz * REGC = VDD = 2.7 to 4.0 V: fSCKA 6 MHz Cautions 1. The TSFn bit is read-only. 2. When the TSFn bit = 1, rewriting the CSIMAn, CSISn, BRGCAn, ADTPn, ADTIn, and SIOAn registers is prohibited. However, the transfer buffer RAM can be rewritten. 3. Be sure to clear bits 1 to 5 to "0".
Preliminary User's Manual U17703EJ1V0UD
527
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(1) Serial I/O shift register An (SIOAn) This is an 8-bit register used to store transmit/receive data in 1-byte transfer mode (CSIMAn.ATEn bit = 0). Writing transmit data to the SIOAn register starts the transfer. In addition, after a transfer completion interrupt request signal (INTCSIAn) is generated (CSISn.TSFn bit = 0), data can be received by reading data from the SIOAn register. This register can be read or written in 8-bit units. However, writing to the SIOAn register is prohibited when the CSISn.TSFn bit = 1. Reset sets this register to 00H. Cautions 1. A transfer operation is started by writing to SIOAn register. Consequently, when
transmission is disabled (CSIMAn.TXEAn bit = 0), write dummy data to the SIOAn register to start the transfer operation, and then perform a receive operation. 2. Do not write data to the SIOAn register while the automatic transmit/receive function is operating.
After reset: 00H 7 SIOAn (n = 0, 1) SIOAn7
R/W 6 SIOAn6
Address: SIOA0 FFFFFD46H, SIOA1 FFFFFD56H 5 SIOAn5 4 SIOAn4 3 SIOAn3 2 SIOAn2 1 SIOAn1 0 SIOAn0
(2) Automatic data transfer address count register n (ADTCn) This is a register used to indicate buffer RAM addresses during automatic transfer. When automatic transfer is stopped, the data position when transfer stopped can be ascertained by reading ADTCn register value. This register is read-only in 8-bit units. However, reading from the ADTCn register is prohibited when the CSISn.TSFn bit = 1. Reset sets this register to 00H.
After reset: 00H 7 ADTCn (n = 0, 1)
R 6
Address: ADTC0 FFFFFD47H, ADTC1 FFFFD57H 5 4 3 2 1 0
ADTCn7 ADTCn6 ADTCn5 ADTCn4 ADTCn3 ADTCn2 ADTCn1 ADTCn0
18.3 Registers
Serial interface CSIAn is controlled by the following six registers. * Serial operation mode specification register n (CSIMAn) * Serial status register n (CSISn) * Serial trigger register n (CSITn) * Divisor selection register n (BRGCAn) * Automatic data transfer address point specification register n (ADTPn) * Automatic data transfer interval specification register n (ADTIn)
Preliminary User's Manual U17703EJ1V0UD
525
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(1) Serial operation mode specification register n (CSIMAn) This is an 8-bit register used to control the serial transfer operation. This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H.
After reset: 00H <7> CSIMAn (n = 0, 1) CSIAEn 0 1 CSIAEn
R/W 6 ATEn
Address: CSIMA0 FFFFFD40H, CSIMA1 FFFFD50H 5 ATMn 4 MASTERn <3> TXEAn <2> RXEAn <1> DIRAn 0 0
CSIAn operation enable/disable control Disable CSIAn operation (SOAn: Low level, SCKAn: High level) Enable CSIAn operation
* When the CSIAEn bit is cleared to 0, the CSIAn unit is resetNote asynchronously. * When the CSIAEn bit = 0, the CSIAn unit is reset, so to operate CSIAn, first set the CSIAEn bit to 1. * If the CSIAEn bit is cleared from 1 to 0, all the registers in the CSIAn unit are initialized. Before the CSIAEn bit is set to 1 again, first re-set the registers of the CSIAn unit. * If the CSIAEn bit is cleared from 1 to 0, the buffer RAM value is not held. Also, when the CSIAEn bit = 0, the buffer RAM cannot be accessed. ATEn 0 1 ATMn 0 1 Automatic transfer operation enable/disable control 1-byte transfer mode Automatic transfer mode Specification of automatic transfer mode Single transfer mode (stops at address specified with ADTPn register) Repeat transfer mode (Following transfer completion, the ADTCn register is cleared to 00H and transmission starts again.) Specification of CSIAn master/slave mode Slave mode (synchronized with SCKAn input clock) Master mode (synchronized with internal clock) Transmission enable/disable control Disable transmission (SOAn: Low level) Enable transmission Reception enable/disable control Disable reception Enable reception Specification of transfer data direction MSB first LSB first
MASTERn 0 1 TXEAn 0 1 RXEAn 0 1 DIRAn 0 1
Note The ADTCn, CSITn, and SIOAn registers and the CSIS.TSFn bit are reset.
526
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(3) Serial trigger register n (CSITn) The CSITn register between the buffer RAM and shift register is an 8-bit register used to control execution/stop of automatic data transfer. This register can be read or written in 8-bit or 1-bit units. However, manipulate only when the CSIMAn.ATEn bit is 1 (manipulation prohibited when ATEn bit = 0). Reset sets this register to 00H.
After reset: 00H 7 CSITn (n = 0, 1) ATSTPn 0 1 0
R/W 6 0
Address: CSIT0 FFFFFD42H, CSIT1 FFFFD52H 5 0 4 0 3 0 2 0 <1> ATSTPn <0> ATSTAn
Automatic data transfer suspension - Stop automatic data transfer
Even when the ATSTPn bit is set to 1, transfer does not stop until 1 byte has been transferred. 1 is held until immediately before the transmission/reception completion interrupt request signal (INTCSIAn) is generated, and ATSTPn is automatically cleared to 0 after that. After automatic transfer has been suspended, the data address at the point of suspension is stored in the ADTCn register. A function to resume automatic data transfer is not provided, so if transfer has been interrupted by setting the ATSTPn bit to 1, set each register again, and set the ATSTAn bit to 1 to start automatic data transfer.
ATSTAn 0 1
Automatic data transfer start - Start automatic data transfer
Even when the ATSTAn bit is set to 1, automatic data transfer does not start until 1 byte has been transferred. 1 is held until immediately before the INTCSIAn signal is generated, and ATSTAn is automatically cleared to 0 after that.
528
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(4) Divisor selection register n (BRGCAn) This is an 8-bit register used to control the serial transfer speed (divisor of CSIA clock). This register can be read or written in 8-bit units. However, when the CSISn.TSFn bit is 1, rewriting the BRGCAn register is prohibited. Reset sets this register to 03H.
After reset: 03H 7 BRGCAn (n = 0, 1) 0
R/W 6 0
Address: BRGCA0 FFFFFD43H, BRGCA1 FFFFD53H 5 0 4 0 3 0 2 0 1 0
BRGCn1 BRGCn0
BRGCn1 BRGCn0 0 0 1 1 0 1 0 1
Selection of CSIAn serial clock (fSCKA division ratio) 6 (fSCKA/6) 8 (fSCKA/8) 16 (fSCKA/16) 32 (fSCKA/32)
(5) Automatic data transfer address point specification register n (ADTPn) This is an 8-bit register used to specify the buffer RAM address that ends transfer during automatic data transfer (CSIMAn.ATEn bit = 1). This register can be read or written in 8-bit units. However, when the CSISn.TSFn bit is 1, rewriting the ADTPn register is prohibited. Reset sets this register to 00H. In the V850ES/KG2, 00H to 1FH can be specified because 32 bytes of buffer RAM are incorporated. Example When the ADTP0 register is set to 07H 8 bytes of FFFFFE00H to FFFFFE07H are transferred. In repeat transfer mode (CSIMAn.ATMn bit = 1), transfer is performed repeatedly up to the address value specified by ADTPn. Example When the ADTP0 register is set to 07H (repeat transfer mode) Transfer is repeated as FFFFFE00H to FFFFFE07H, ... .
After reset: 00H 7 ADTPn (n = 0, 1) 0
R/W 6 0
Address: ADTP0 FFFFFD44H, ADTP1 FFFFD54H 5 0 4 ADTPn4 3 2 1 ADTPn1 0 ADTPn0
ADTPn3 ADTPn2
Caution
Be sure to clear bits 5 to 7 to "0".
Preliminary User's Manual U17703EJ1V0UD
529
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
The relationship between buffer RAM address values and the ADTPn register setting values is shown below. Table 18-2. Relationship Between Buffer RAM Address Values and ADTP0 Register Setting Values
Buffer RAM Address Value FFFFFE00H FFFFFE01H FFFFFE02H FFFFFE03H FFFFFE04H FFFFFE05H FFFFFE06H FFFFFE07H FFFFFE08H FFFFFE09H FFFFFE0AH FFFFFE0BH FFFFFE0CH FFFFFE0DH FFFFFE0EH FFFFFE0FH ADTP0 Register Setting Value 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH Buffer RAM Address Value FFFFFE10H FFFFFE11H FFFFFE12H FFFFFE13H FFFFFE14H FFFFFE15H FFFFFE16H FFFFFE17H FFFFFE18H FFFFFE19H FFFFFE1AH FFFFFE1BH FFFFFE1CH FFFFFE1DH FFFFFE1EH FFFFFE1FH ADTP0 Register Setting Value 10H 11H 12H 13H 14H 15H 16H 17H 18H 19H 1AH 1BH 1CH 1DH 1EH 1FH
Table 18-3. Relationship Between Buffer RAM Address Values and ADTP1 Register Setting Values
Buffer RAM Address Value FFFFFE20H FFFFFE21H FFFFFE22H FFFFFE23H FFFFFE24H FFFFFE25H FFFFFE26H FFFFFE27H FFFFFE28H FFFFFE29H FFFFFE2AH FFFFFE2BH FFFFFE2CH FFFFFE2DH FFFFFE2EH FFFFFE2FH ADTP1 Register Setting Value 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH Buffer RAM Address Value FFFFFE30H FFFFFE31H FFFFFE32H FFFFFE33H FFFFFE34H FFFFFE35H FFFFFE36H FFFFFE37H FFFFFE38H FFFFFE39H FFFFFE3AH FFFFFE3BH FFFFFE3CH FFFFFE3DH FFFFFE3EH FFFFFE3FH ADTP1 Register Setting Value 10H 11H 12H 13H 14H 15H 16H 17H 18H 19H 1AH 1BH 1CH 1DH 1EH 1FH
530
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(6) Automatic data transfer interval specification register n (ADTIn) This is an 8-bit register used to specify the interval period between 1-byte transfers during automatic data transfer (CSIMAn.ATEn bit = 1). Set this register when in master mode (CSIMAn.MASTERn bit = 1) (setting is unnecessary in slave mode). Setting in 1-byte transfer mode (ATEn bit = 0) is also valid. When the interval time specified by the ADTIn register after the end of 1-byte transfer has elapsed, a transmission/reception completion interrupt request signal (INTCSIAn) is output. The number of clocks for the interval can be set to between 0 and 63 clocks. This register can be read or written in 8-bit units. However, when the CSISn.TSFn bit is 1, rewriting the ADTIn register is prohibited. Reset sets this register to 00H.
After reset: 00H 7 ADTIn (n = 0, 1) 0
R/W 6 0
Address: ADTI0 FFFFFD45H, ADTI1 FFFFD55H 5 ADTIn5 4 ADTIn4 3 ADTIn3 2 ADTIn2 1 ADTIn1 0 ADTIn0
The specified interval time is the transfer clock (specified by the BRGCAn register) multiplied by an integer value.
Example When ADTIn register = 03H
SCKAn
Interval time of 3 clocks
(7) CSIAn buffer RAM (CSIAnBm) This area holds transmit/receive data (up to 32 bytes) in automatic transfer mode in 1-byte units. This register can be read or written in 16-bit units. However, when the higher 8 bits and the lower 8 bits of the CSIAnBm register are used as the CSIAnBmH register and CSIAnBmL register, respectively, these registers can be read or written in 8-bit units. After automatic transfer is started, only data equal to one byte more than the number of bytes stored in the ADTPn register is transmitted/received in sequence from the CSIAmB0L register. Cautions 1. To read the value of the CSIAnBm register after data is written to the register, wait for the duration of more than six clocks of fSCKA (serial clock set by the CSISn.CKSAn1 and CSISn.CKSAn0 bits) or until data is written to the buffer RAM at another address. 2. When the main clock stops and the CPU operates on the subclock, do not access the CSIAnBm register. For details, refer to 3.4.8 (1) (b). Remark n = 0, 1 m = 0 to F
Preliminary User's Manual U17703EJ1V0UD
531
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
Table 18-4. CSIA0 Buffer RAM
Address FFFFFE00H FFFFFE00H FFFFFE01H FFFFFE02H FFFFFE02H FFFFFE03H FFFFFE04H FFFFFE04H FFFFFE05H FFFFFE06H FFFFFE06H FFFFFE07H FFFFFE08H FFFFFE08H FFFFFE09H FFFFFE0AH FFFFFE0AH FFFFFE0BH FFFFFE0CH FFFFFE0CH FFFFFE0DH FFFFFE0EH FFFFFE0EH FFFFFE0FH FFFFFE10H FFFFFE10H FFFFFE11H FFFFFE12H FFFFFE12H FFFFFE13H FFFFFE14H FFFFFE14H FFFFFE15H FFFFFE16H FFFFFE16H FFFFFE17H FFFFFE18H FFFFFE18H FFFFFE19H FFFFFE1AH FFFFFE1AH FFFFFE1BH FFFFFE1CH FFFFFE1CH FFFFFE1DH FFFFFE1EH FFFFFE1EH FFFFFE1FH Symbol CSIA0B0 CSIA0B0L CSIA0B0H CSIA0B1 CSIA0B1L CSIA0B1H CSIA0B2 CSIA0B2L CSIA0B2H CSIA0B3 CSIA0B3L CSIA0B3H CSIA0B4 CSIA0B4L CSIA0B4H CSIA0B5 CSIA0B5L CSIA0B5H CSIA0B6 CSIA0B6L CSIA0B6H CSIA0B7 CSIA0B7L CSIA0B7H CSIA0B8 CSIA0B8L CSIA0B8H CSIA0B9 CSIA0B9L CSIA0B9H CSIA0BA CSIA0BAL CSIA0BAH CSIA0BB CSIA0BBL CSIA0BBH CSIA0BC CSIA0BCL CSIA0BCH CSIA0BD CSIA0BDL CSIA0BDH CSIA0BE CSIA0BEL CSIA0BEH CSIA0BF CSIA0BFL CSIA0BFH R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Preliminary User's Manual U17703EJ1V0UD
R/W
Manipulatable Bits 8 16
After Reset Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined
532
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
Table 18-5. CSIA1 Buffer RAM
Address FFFFFE20H FFFFFE20H FFFFFE21H FFFFFE22H FFFFFE22H FFFFFE23H FFFFFE24H FFFFFE24H FFFFFE25H FFFFFE26H FFFFFE26H FFFFFE27H FFFFFE28H FFFFFE28H FFFFFE29H FFFFFE2AH FFFFFE2AH FFFFFE2BH FFFFFE2CH FFFFFE2CH FFFFFE2DH FFFFFE2EH FFFFFE2EH FFFFFE2FH FFFFFE30H FFFFFE30H FFFFFE31H FFFFFE32H FFFFFE32H FFFFFE33H FFFFFE34H FFFFFE34H FFFFFE35H FFFFFE36H FFFFFE36H FFFFFE37H FFFFFE38H FFFFFE38H FFFFFE39H FFFFFE3AH FFFFFE3AH FFFFFE3BH FFFFFE3CH FFFFFE3CH FFFFFE3DH FFFFFE3EH FFFFFE3EH FFFFFE3FH Symbol CSIA1B0 CSIA1B0L CSIA1B0H CSIA1B1 CSIA1B1L CSIA1B1H CSIA1B2 CSIA1B2L CSIA1B2H CSIA1B3 CSIA1B3L CSIA1B3H CSIA1B4 CSIA1B4L CSIA1B4H CSIA1B5 CSIA1B5L CSIA1B5H CSIA1B6 CSIA1B6L CSIA1B6H CSIA1B7 CSIA1B7L CSIA1B7H CSIA1B8 CSIA1B8L CSIA1B8H CSIA1B9 CSIA1B9L CSIA1B9H CSIA1BA CSIA1BAL CSIA1BAH CSIA1BB CSIA1BBL CSIA1BBH CSIA1BC CSIA1BCL CSIA1BCH CSIA1BD CSIA1BDL CSIA1BDH CSIA1BE CSIA1BEL CSIA1BEH CSIA1BF CSIA1BFL CSIA1BFH R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W Manipulatable Bits 8 16 Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined Undefined After Reset
Preliminary User's Manual U17703EJ1V0UD
533
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
18.4 Operation
CSIAn can be used in the following two modes. * 3-wire serial I/O mode * 3-wire serial I/O mode with automatic transmit/receive function 18.4.1 3-wire serial I/O mode The one-byte data transmission/reception is executed in the mode in which the CSIMAn.ATEn bit is cleared to 0. In this mode, communication is executed by using three lines: serial clock (SCKAn), serial data output (SOAn), and serial data input (SIAn) pins. The 3-wire serial I/O mode is controlled by the following three registers. * Serial operation mode specification register n (CSIMAn) * Serial status register n (CSISn) * Divisor selection register n (BRGCAn) Remarks 1. For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. 2. n = 0, 1
534
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(1) 1-byte transmission/reception communication operation (a) 1-byte transmission/reception When the CSIMAn.CSIAEn bit and the CSIMAn.ATEn bit = 1, 0, respectively, if transfer data is written to the SIOAn register, the data is output via the SOA0 pin in synchronization with the SCKAn pin falling edge, and then input via the SIAn pin in synchronization with the falling edge of the SCKAn pin, and stored in the SIOAn register in synchronization with the rising edge 1 clock later. Data transmission and data reception can be performed simultaneously. If only reception is to be performed, transfer can only be started by writing a dummy value to the SIOAn register. When transfer of 1 byte is complete, a transmission/reception completion interrupt request signal (INTCSIAn) is generated. In 1-byte transmission/reception, the setting of the CSIMAn.ATMn bit is invalid. Be sure to read data after confirming that the CSISn.TSFn bit = 0. Caution Determine the setting procedure of alternate-function pins considering the relationship with the communication partner. Figure 18-2. 3-Wire Serial I/O Mode Timing
SCKAn
1
2
3
4
5
6
7
8
SIAn
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
SOAn
DO7
DO6
DO5
DO4
DO3
DO2
DO1
DO0
INTCSIAn
Transfer starts at falling edge of SCKAn pin
TSFn
End of transfer
SIOAn write
Caution Remark
The SOAn pin becomes low level by the SIOAn register write. n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
535
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(b) Data format In the data format, data is changed in synchronization with the SCKAn pin falling edge as shown in Figure 18-3. The data length is fixed to 8 bits and the data transfer direction can be switched by the specification of the CSIMAn.DIRAn bit. Figure 18-3. Format of Transmit/Receive Data
(a) MSB-first (DIRAn bit = 0)
SCKAn SIAn SOAn DO7 DI7 DO6 DI6 DO5 DI5 DO4 DI4 DO3 DI3 DO2 DI2 DO1 DI1 DO0 DI0
(b) LSB-first (DIRAn bit = 1)
SCKAn SIAn SOAn DO0 DI0 DO1 DI1 DO2 DI2 DO3 DI3 DO4 DI4 DO5 DI5 DO6 DI6 DO7 DI7
Remark
n = 0, 1
536
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(c) Switching MSB/LSB as start bit Figure 18-4 shows the configuration of the SIOAn register and the internal bus. As shown in the figure, MSB/LSB can be read or written in reverse form. Switching MSB/LSB as the start bit can be specified using the CSIMAn.DIRAn bit. Start bit switching is realized by switching the bit order for data written to the SIOAn register. The SIOAn register shift order remains unchanged. Thus, switching between MSB-first and LSB-first must be performed before writing data to the SIOAn register. Figure 18-4. Transfer Bit Order Switching Circuit
7 6 Internal bus 1 0 LSB-first MSB-first Read/write gate Read/write gate
SOAn latch SIAn Shift register n (SIOAn) D Q
SOAn
SCKAn
Remark
n = 0, 1
(d) Transfer start Serial transfer is started by setting transfer data to the SIOAn register when the following two conditions are satisfied. * CSIAn operation control bit (CSIMAn.CSIAEn) = 1 * Other than during serial communication Caution If the CSIAEn bit is set to 1 after data is written to the SIOAn register, communication does not start. Upon termination of 8-bit communication, serial communication automatically stops and the transmission/reception completion interrupt request signal (INTCSIAn) is generated. Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
537
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
18.4.2 3-wire serial I/O mode with automatic transmit/receive function Up to 32 bytes of data can be transmitted/received without using software in the mode in which the CSIMAn.ATEn bit is set to 1. After communication is started, only data of the set number of bytes stored in RAM in advance can be transmitted, and only data of the set number of bytes can be received and stored in RAM. The 3-wire serial I/O mode with automatic transmit/receive function is controlled by the following registers. * Serial operation mode specification register n (CSIMAn) * Serial status register n (CSISn) * Serial trigger register n (CSITn) * Divisor selection register n (BRGCAn) * Automatic data transfer address point specification register n (ADTPn) * Automatic data transfer interval specification register n (ADTIn) Remarks 1. 2. For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. n = 0, 1
(1) Automatic transmit/receive data setting (a) Transmit data setting <1> Write transmit data from the least significant address FFFFFE00H/FFFFFE20H of buffer RAM (up to FFFFFE1FH/FFFFFE3FH at maximum). address to higher address. <2> Set the ADTPn register to the value obtained by subtracting 1 from the number of transmit data bytes. (b) Automatic transmission/reception mode setting <1> Set the CSIMAn.CSIAEn bit and the CSIMAn.ATEn bit to 11. <2> Set the CSIMAn.RXEAn bit and the CSIMAn.TXEAn bit to 11. <3> Set a data transfer interval in the ADTIn register. <4> Set the CSITn.ATSTAn bit to 1. The following operations are automatically carried out when (a) and (b) are carried out. * After the buffer RAM data indicated by the ADTCn register is transferred to the SIOAn register, transmission is carried out (start of automatic transmission/reception). * The received data is written to the buffer RAM address indicated by the ADTCn register. * ADTCn register is incremented and the next data transmission/reception is carried out. Data transmission/reception continues until the ADTCn register incremental output matches the set value of the ADTPn register (end of automatic transmission/reception). However, if the CSIMAn.ATMn bit is set to 1 (continuous transfer mode), the ADTCn register is cleared after a match between the ADTPn and ADTCn registers, and then repeated transmission/reception is started. * When automatic transmission/reception is terminated, the CSISn.TSFn bit is cleared to 0. Caution Determine the setting procedure of alternate-function pins considering the relationship with the communication partner. Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
The transmit data should be in the order from lower
538
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(2) Automatic transmission/reception communication operation (a) Automatic transmission/reception mode Automatic transmission/reception can be performed using buffer RAM. The data stored in the buffer RAM is output from the SOAn pin via the SIOAn register in synchronization with the SCKAn pin falling edge by performing (a) and (b) in (1) Automatic transmit/receive data setting. The data is then input from the SIAn pin via the SIOAn register in synchronization with the serial clock falling edge of the SCKAn pin and the receive data is stored in the buffer RAM in synchronization with the rising edge 1 clock later. Data transfer ends if the CSISn.TSFn bit is cleared to 0 when any of the following conditions is met. * Reset by clearing the CSIMAn.CSIAEn bit to 0 * Transfer of 1 byte is complete by setting the CSITn.ATSTPn bit to 1 * Transfer of the range specified by the ADTPn register is complete At this time, a transmission/reception completion interrupt request signal (INTCSIAn) is generated except when the CSIAEn bit = 0. If a transfer is terminated in the middle, transfer starting from the remaining data is not possible. Read the ADTCn register to confirm how much of the data has already been transferred, set the transfer data again, and perform (a) and (b) in (1) Automatic transmit/receive data setting. Figure 18-5 shows the operation timing in automatic transmission/reception mode and Figure 18-6 shows the operation flowchart. Figure 18-7 shows the operation of the buffer RAM when 6 bytes of data are transmitted/received. Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
539
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
Figure 18-5. Automatic Transmission/Reception Mode Operation Timings
Interval
Interval
SCKAn
SOAn
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
SIAn
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
INTCSIAn
TSFn
Cautions 1. Because, in the automatic transmission/reception mode, the automatic transmit/receive function reads/writes data from/to the buffer RAM after 1-byte transmission/reception, an interval is inserted until the next transmission/reception. As the buffer RAM read/write is performed at the same time as CPU processing, the interval is dependent upon the value of the ADTIn register. 2. When the TSFn bit is cleared, the SOAn pin becomes low level. 3. If CPU access to the buffer RAM conflicts with CSIAn read/write during the interval time, the interval time becomes longer. Remark n = 0, 1
540
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
Figure 18-6. Automatic Transmission/Reception Mode Flowchart
Start
Write transmit data in buffer RAM
Set ADTPn register to the value (pointer value) obtained by subtracting 1 from the number of transmit data bytes
Software execution
Set automatic transmission/ reception mode
Set CSITn.ATSTAn bit to 1
Write transmit data from buffer RAM to SIOAn register
Transmission/reception operation
Increment pointer value
Hardware execution Write receive data from SIOAn register to buffer RAM
ADTPn register = ADTCn register Yes
No
TSFn bit = 0
No Software execution
Yes End
Remark
n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
541
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
In 6-byte transmission/reception (CSIMAn.ATMn bit = 0, CSIMAn.RXEAn bit = 1, CSIMAn.TXEAn bit = 1) in automatic transmission/reception mode, buffer RAM operates as follows. (i) When transmission/reception operation is started (refer to Figure 18-7 (a).) When the CSITn.ATSTAn bit is set to 1, transmit data 1 (T1) is transferred from the buffer RAM to the SIOAn register. When transmission of the first byte is completed, receive data 1 (R1) is transferred from the SIOAn register to the buffer RAM, and the ADTCn register is incremented. Then transmit data 2 (T2) is transferred from the buffer RAM to the SIOAn register. (ii) 4th byte transmission/reception point (refer to Figure 18-7 (b).) Transmission/reception of the third byte is completed, and transmit data 4 (T4) is transferred from the buffer RAM to the SIOAn register. When transmission of the fourth byte is completed, the receive data 4 (R4) is transferred from the SIOAn register to the buffer RAM, and the ADTCn register is incremented. (iii) Completion of transmission/reception (refer to Figure 18-7 (c).) When transmission of the sixth byte is completed, receive data 6 (R6) is transferred from SIOAn register to the buffer RAM, and the transmission/reception completion interrupt request signal (INTCSIAn) is generated. Figure 18-7. Buffer RAM Operation in 6-Byte Transmission/Reception (in Automatic Transmission/Reception Mode) (1/2)
(a) When transmission/reception operation is started
FFFFFE1FH
FFFFFE05H
Transmit data 6 (T6) Transmit data 5 (T5) Transmit data 4 (T4) Transmit data 3 (T3) Transmit data 2 (T2) +1
Receive data 1 (R1)
SIOAn register
5
ADTPn register
0
ADTCn register
FFFFFE00H
Transmit data 1 (T1)
Not generated
INTCSIAn signal
Remarks 1. The above addresses are for CSIA0. For CSIA1, the addresses are FFFFFE20H to FFFFFE3FH. 2. n = 0, 1
542
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
Figure 18-7. Buffer RAM Operation in 6-Byte Transmission/Reception (in Automatic Transmission/Reception Mode) (2/2)
(b) 4th byte transmission/reception
FFFFFE1FH
FFFFFE05H
Transmit data 6 (R6) Transmit data 5 (R5) Transmit data 4 (R4) Receive data 3 (T3) Receive data 2 (T2) +1
Receive data 4 (R4)
SIOAn register
5
ADTPn register
3
ADTCn register
FFFFFE00H
Receive data 1 (T1)
Not generated
INTCSIAn signal
(c) Completion of transmission/reception
FFFFFE1FH
FFFFFE05H
Receive data 6 (R6) Receive data 5 (R5) Receive data 4 (R4) Receive data 3 (R3) Receive data 2 (R2) 5
SIOAn register ADTPn register
5
ADTCn register
FFFFFE00H
Receive data 1 (R1)
Generated
INTCSIAn signal
Remarks 1. The above addresses are for CSIA0. For CSIA1, the addresses are FFFFFE20H to FFFFFE3FH. 2. n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
543
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(b) Automatic transmission mode In this mode, the specified number of 8-bit unit data are transmitted. Serial transfer is started when the CSITn.ATSTAn bit is set to 1 while the CSIMAn.CSIAEn, CSIMAn.ATEn, and CSIMAn.TXEAn bits are set to 1. When the final byte has been transmitted, an interrupt request signal (INTCSIAn) is generated. Figure 18-8 shows the automatic transmission mode operation timing, and Figure 18-9 shows the operation flowchart. Figure 18-10 shows the operation of the buffer RAM when 6 bytes of data are transmitted. Figure 18-8. Automatic Transmission Mode Operation Timing
Interval
Interval
SCKAn
SOAn
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
INTCSIAn
TSFn
Cautions 1. Because, in the automatic transmission mode, the automatic transmit/receive function reads data from the buffer RAM after 1-byte transmission, an interval is inserted until the next transmission. As the buffer RAM read is performed at the same time as CPU processing, the interval is dependent upon the value of the ADTIn register. 2. When the TSFn bit is cleared, the SOAn pin becomes low level. 3. If CPU access to the buffer RAM conflicts with CSIAn read/write during the interval time, the interval time becomes longer. Remark n = 0, 1
544
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
Figure 18-9. Automatic Transmission Mode Flowchart
Start
Write transmit data in buffer RAM
Set ADTPn register to the value (pointer value) obtained by subtracting 1 from the number of transmit data bytes
Software execution
Set automatic transmission mode
Set CSITn.ATSTAn bit to 1
Write transmit data from buffer RAM to SIOAn register
Increment pointer value
Transmission operation Hardware execution
ADTPn register = ADTCn register Yes
No
TSFn bit = 0
No Software execution
Yes End
Remark
n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
545
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
In 6-byte transmission (CSIMAn.ATMn bit = 0, CSIMAn.RXEAn bit = 0, CSIMAn.TXEAn bit = 1, CSIMAn.ATEn bit = 1) in automatic transmission mode, buffer RAM operates as follows. (i) When transmission is started (refer to Figure 18-10 (a).) When the CSITn.ATSTAn bit is set to 1, transmit data 1 (T1) is transferred from the buffer RAM to the SIOAn register. When transmission of the first byte is completed, the ADTCn register is incremented. Then transmit data 2 (T2) is transferred from the buffer RAM to the SIOAn register. (ii) 4th byte transmission point (refer to Figure 18-10 (b).) Transmission of the third byte is completed, and transmit data 4 (T4) is transferred from the buffer RAM to the SIOAn register. When transmission of the fourth byte is completed, the ADTCn register is incremented. (iii) Completion of transmission (refer to Figure 18-10 (c).) When transmission of the sixth byte is completed, the interrupt request signal (INTCSIAn) is generated, and the TFSn flag is cleared to 0. Figure 18-10. Buffer RAM Operation in 6-Byte Transmission (in Automatic Transmission Mode) (1/2)
(a) When transmission is started
FFFFFE1FH
FFFFFE05H
Transmit data 6 (T6) Transmit data 5 (T5) Transmit data 4 (T4) Transmit data 3 (T3) Transmit data 2 (T2) +1 5
SIOAn register
ADTPn register
0
ADTCn register
FFFFFE00H
Transmit data 1 (T1)
Not generated
INTCSIAn signal
Remarks 1. The above addresses are for CSIA0. For CSIA1, the addresses are FFFFFE20H to FFFFFE3FH. 2. n = 0, 1
546
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
Figure 18-10. Buffer RAM Operation in 6-Byte Transmission (in Automatic Transmission Mode) (2/2)
(b) 4th byte transmission point
FFFFFE1FH
FFFFFE05H
Transmit data 6 (T6) Transmit data 5 (T5) Transmit data 4 (T4) Transmit data 3 (T3) Transmit data 2 (T2) +1 5
SIOAn register
ADTPn register
3
ADTCn register
FFFFFE00H
Transmit data 1 (T1)
Not generated
INTCSIAn signal
(c) Completion of transmission
FFFFFE1FH
FFFFFE05H
Transmit data 6 (T6) Transmit data 5 (T5) Transmit data 4 (T4) Transmit data 3 (T3) Transmit data 2 (T2) 5
SIOAn register ADTPn register
5
ADTCn register
FFFFFE00H
Transmit data 1 (T1)
Generated
INTCSIAn signal
Remarks 1. The above addresses are for CSIA0. For CSIA1, the addresses are FFFFFE20H to FFFFFE3FH. 2. n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
547
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(c) Repeat transmission mode In this mode, data stored in the buffer RAM is transmitted repeatedly. Serial transfer is started when the CSITn.ATSTAn bit is set to 1 while the CSIMAn.CSIAEn, CSIMAn.ATEn, CSIMAn.ATMn, and CSIMAn.TXEAn bits are set to 1. Unlike the basic transmission mode, after the specified number of bytes has been transmitted, the transmission/reception completion interrupt request signal (INTCSIAn) is not generated, the ADTCn register is reset to 0, and the buffer RAM contents are transmitted again. The repeat transmission mode operation timing is shown in Figure 18-11, and the operation flowchart in Figure 18-12. Figure 18-13 shows the operation of the buffer RAM when 6 bytes of data are transmitted in the repeat transmission mode. Figure 18-11. Repeat Transmission Mode Operation Timing
Interval
SCKAn SOAn
Interval
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5
Cautions 1. Because, in the repeat transmission mode, a read is performed on the buffer RAM after the transmission of one byte, the interval is included in the period up to the next transmission. As the buffer RAM read is performed at the same time as CPU processing, the interval is dependent upon the ADTIn register. 2. If CPU access to the buffer RAM conflicts with CSIA read/write during the interval time, the interval time becomes longer. Remark n = 0, 1
548
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
Figure 18-12. Repeat Transmission Mode Flowchart
Start
Write transmit data in buffer RAM
Set ADTPn register to the value (pointer value) obtained by subtracting 1 from the number of transmit data bytes
Software execution
Set repeat transmission mode
Set CSITn.ATSTAn bit to 1
Write transmit data from buffer RAM to SIOAn register
Increment pointer value
Transmission operation
Hardware execution ADTPn register = ADTCn register Yes No
Reset ADTCn register to 0
Remark
n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
549
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
In 6-byte transmission (CSIMAn.ATMn bit = 1, CSIMAn.RXEAn bit = 0, CSIMAn.TXEAn bit = 1, CSIMAn.ATEn bit = 1) in repeat transmission mode, buffer RAM operates as follows. (i) When transmission is started (refer to Figure 18-13 (a).) When the CSITn.ATSTAn bit is set to 1, transmit data 1 (T1) is transferred from the buffer RAM to the SIOAn register. When transmission of the first byte is completed, the ADTCn register is incremented. Then transmit data 2 (T2) is transferred from the buffer RAM to the SIOAn register. (ii) Upon completion of transmission of 6 bytes (refer to Figure 18-13 (b).) When transmission of the sixth byte is completed, the interrupt request signal (INTCSIAn) is not generated. The ADTCn register is reset to 0. (iii) 7th byte transmission point (refer to Figure 18-13 (c).) Transmit data 1 (T1) is transferred from the buffer RAM to SIOAn register again. When transmission of the first byte is completed, the ADTCn register is incremented. Then transmit data 2 (T2) is transferred from the buffer RAM to the SIOAn register. Figure 18-13. Buffer RAM Operation in 6-Byte Transmission (in Repeat Transmission Mode) (1/2)
(a) When transmission is started
FFFFFE1FH
FFFFFE05H
Transmit data 6 (T6) Transmit data 5 (T5) Transmit data 4 (T4) Transmit data 3 (T3) Transmit data 2 (T2) +1 5
SIOAn register ADTPn register
0
ADTCn register
FFFFFE00H
Transmit data 1 (T1)
Not generated
INTCSIAn signal
Remarks 1. The above addresses are for CSIA0. For CSIA1, the addresses are FFFFFE20H to FFFFFE3FH. 2. n = 0, 1
550
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
Figure 18-13. Buffer RAM Operation in 6-Byte Transmission (in Repeat Transmission Mode) (2/2)
(b) Upon completion of transmission of 6 bytes
FFFFFE1FH
FFFFFE05H
Transmit data 6 (T6) Transmit data 5 (T5) Transmit data 4 (T4) Transmit data 3 (T3) Transmit data 2 (T2) 5
SIOAn register ADTPn register
5
ADTCn register
FFFFFE00H
Transmit data 1 (T1)
Not generated
INTCSIAn signal
(c) 7th byte transmission point
FFFFFE1FH
FFFFFE05H
Transmit data 6 (T6) Transmit data 5 (T5) Transmit data 4 (T4) Transmit data 3 (T3) Transmit data 2 (T2) +1 5
SIOAn register ADTPn register
0
ADTCn register
FFFFFE00H
Transmit data 1 (T1)
Not generated
INTCSIAn signal
Remarks 1. The above addresses are for CSIA0. For CSIA1, the addresses are FFFFFE20H to FFFFFE3FH. 2. n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
551
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(d) Data format In the data format, data is changed in synchronization with the SCKAn pin falling edge as shown in Figure 18-14. The data length is fixed to 8 bits and the data transfer direction can be switched by the specification of the CSIMAn.DIRAn bit. Figure 18-14. Format of CSIAn Transmit/Receive Data
(a) MSB-first (DIRAn bit = 0)
SCKAn SIAn SOAn DO7 DI7 DO6 DI6 DO5 DI5 DO4 DI4 DO3 DI3 DO2 DI2 DO1 DI1 DO0 DI0
(b) LSB-first (DIRAn bit = 1)
SCKAn SIAn SOAn DO0 DI0 DO1 DI1 DO2 DI2 DO3 DI3 DO4 DI4 DO5 DI5 DO6 DI6 DO7 DI7
Remark
n = 0, 1
552
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 18 CLOCKED SERIAL INTERFACE A (CSIA) WITH AUTOMATIC TRANSMIT/RECEIVE FUNCTION
(e) Automatic transmission/reception suspension and restart Automatic transmission/reception can be temporarily suspended by setting the CSITn.ATSTPn bit to 1. During 8-bit data transfer, the transmission/reception is not suspended. It is suspended upon completion of 8-bit data transfer. When suspended, the CSISn.TSFn bit is cleared to 0 after transfer of the 8th bit. To restart automatic transmission/reception, set the CSITn.ATSTAn bit to 1. The remaining data can be transmitted in this way. Cautions 1. If the IDLE instruction is executed during automatic transmission/reception, transfer is suspended and the IDLE mode is set if during 8-bit data transfer. When the IDLE mode is cleared, automatic transmission/reception is restarted from the suspended point. 2. When suspending automatic transmission/reception, do not change the operating mode to 3-wire serial I/O mode while the TSFn bit = 1. Figure 18-15. Automatic Transmission/Reception Suspension and Restart
ATSTPn bit = 1 (Suspend command)
Suspend Restart command ATSTAn bit = 1
SCKAn SOAn SIAn D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0
Remark
n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
553
CHAPTER 19 I2C BUS
To use the I2C bus function, use the P38/SDA0 and P39/SCL0 pins as the serial transmit/receive data I/O pin (SDA0) and serial clock I/O pin (SCL0), respectively, and set them to N-ch open-drain output. In the V850ES/KG2, one channel of I2C bus is provided.
19.1 Features
The I2C0 has the following two modes. * Operation stop mode * I2C (Inter IC) bus mode (multimaster supported) (1) Operation stop mode This mode is used when serial transfers are not performed. consumption. (2) I2C bus mode (multimaster supported) This mode is used for 8-bit data transfers with several devices via two lines: a serial clock (SCL0) line and a serial data bus (SDA0) line. This mode complies with the I2C bus format and the master device can generate "start condition", "address", "transfer direction specification", "data", and "stop condition" data to the slave device, via the serial data bus. The slave device automatically detects these received state and data by hardware. This function can simplify the part of application program that controls the I2C bus. Since the SCL0 and SDA0 pins are used for N-ch open drain outputs, I2C0 requires pull-up resistors for the serial clock line and the serial data bus line. It can therefore be used to reduce power
554
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
Figure 19-1. Block Diagram of I2C0
Internal bus IIC status register 0 (IICS0) MSTS0 ALD0 EXC0 COI0 TRC0 ACKD0 STD0 SPD0 IIC control register 0 (IICC0) IICE0 LREL0 WREL0 SPIE0 WTIM0 ACKE0 STT0 SPT0
SDA0 Noise eliminator
Slave address register 0 (SVA0)
Match signal
Clear Set
Start condition generator
DFC0
IIC shift register 0 (IIC0)
DQ
SO latch CL01, CL00
Stop condition generator
TRC0 N-ch open-drain output
Data retention time correction circuit
Output control ACK detector Start condition detector Stop condition detector
ACK generator
Wakeup controller
SCL0 Noise eliminator DFC0 N-ch open-drain output
Serial clock counter Serial clock wait controller
Interrupt request signal generator IICS0.MSTS0, EXC0, COI0 IIC shift register 0 (IIC0)
INTIIC0
Serial clock controller
IICC0.STT0, SPT0 IICS0.MSTS0, EXC0, COI0 fxx Prescaler
Bus status detector
CLD0 DAD0 SMC0 DFC0 CL01 CL00 IIC clock select register 0 (IICCL0)
CLX0
STCF0 IICBSY0 STCEN0 IICRSV0 IIC flag register 0 (IICF0)
IIC function expansion register 0 (IICX0)
Internal bus
Preliminary User's Manual U17703EJ1V0UD
555
CHAPTER 19 I C BUS
2
A serial bus configuration example is shown below. Figure 19-2. Serial Bus Configuration Example Using I2C Bus
+VDD +VDD
Master CPU1 Slave CPU1 Address 1
SDA SCL
Serial data bus Serial clock
SDA SCL
Master CPU2 Slave CPU2 Address 2
SDA SCL
Slave CPU3 Address 3
SDA SCL
Slave IC Address 4
SDA SCL
Slave IC Address N
556
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.2 Configuration
I2C0 includes the following hardware. Table 19-1. Configuration of I2C0
Item Registers Configuration IIC shift register 0 (IIC0) Slave address register 0 (SVA0) Control registers IIC control register 0 (IICC0) IIC status register 0 (IICS0) IIC flag register 0 (IICCF0) IIC clock selection register 0 (IICCL0) IIC function expansion register 0 (IICX0)
(1) IIC shift register 0 (IIC0) The IIC0 register is used to convert 8-bit serial data to 8-bit parallel data and to convert 8-bit parallel data to 8bit serial data. The IIC0 register can be used for both transmission and reception. Write and read operations to the IIC0 register are used to control the actual transmit and receive operations. The IIC0 register can be read or written in 8-bit units. Reset sets IIC0 to 00H. (2) Slave address register 0 (SVA0) The SVA0 register sets local addresses when in slave mode. The SVA0 register can be read or written in 8-bit units. Reset sets SVA0 to 00H. (3) SO latch The SO latch is used to retain the SDA0 pin's output level. (4) Wakeup controller This circuit generates an interrupt request signal (INTIIC0) when the address received by this register matches the address value set to the SVA0 register or when an extension code is received. (5) Prescaler This selects the sampling clock to be used. (6) Serial clock counter This counter counts the serial clocks that are output and the serial clocks that are input during transmit/receive operations and is used to verify that 8-bit data was sent or received. (7) Interrupt request signal generator This circuit controls the generation of interrupt request signals (INTIIC0). An I2C interrupt is generated following either of two triggers. * Falling of the eighth or ninth clock of the serial clock (set by IICC0.WTIM0 bit) * Interrupt request generated when a stop condition is detected (set by IICC0.SPIE0 bit)
Preliminary User's Manual U17703EJ1V0UD
557
CHAPTER 19 I C BUS
2
(8) Serial clock controller In master mode, this circuit generates the clock output via the SCL0 pin from a sampling clock. (9) Serial clock wait controller This circuit controls the wait timing. (10) ACK generator, stop condition detector, start condition detector, and ACK detector These circuits are used to generate and detect various statuses. (11) Data hold time correction circuit This circuit generates the hold time for data corresponding to the falling edge of the serial clock. (12) Start condition generator This circuit generates a start condition when the IICC0.STT0 bit is set. However, in the communication reservation disabled status (IICF0.IICRSV0 bit = 1), when the bus is not released (IICF0.IICBSY0 bit = 1), start condition requests are ignored and the IICF0.STCF0 bit is set to 1. (13) Stop condition generator A stop condition is generated when the IIC0.SPT0 bit is set (1). (14) Bus status detector This circuit detects whether or not the bus is released by detecting start conditions and stop conditions. However, as the bus status cannot be detected immediately following operation, the initial status is set by the IICF0.STCEN0 bit.
558
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.3 Registers
I2C0 is controlled by the following registers. * IIC control register 0 (IICC0) * IIC status register 0 (IICS0) * IIC flag register 0 (IICF0) * IIC clock selection register 0 (IICCL0) * IIC function expansion register 0 (IICX0) The following registers are also used. * IIC shift register 0 (IIC0) * Slave address register 0 (SVA0) Remark For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions. (1) IIC control register 0 (IICC0) The IICC0 register is used to enable/stop I2C0 operations, set wait timing, and set other I2C operations. The IICC0 register can be read or written in 8-bit or 1-bit units. However, set the SPIE0, WTIM0, and ACKE0 bits when the IICE0 bit is 0 or during the wait period. When setting the IICE0 bit from "0" to "1", these bits can also be set at the same time. Reset sets this register to 00H.
Preliminary User's Manual U17703EJ1V0UD
559
CHAPTER 19 I C BUS
2
(1/4)
After reset: 00H <7> IICC0 IICE0 R/W <6> LREL0 Address: IICC0 FFFFFD82H <5> WREL0 <4> SPIE0 <3> WTIM0 <2> ACKE0 <1> STT0 <0> SPT0
IICE0 0 1
I C0 operation enable/disable specification Stop operation. Reset the IICS0 register Enable operation.
Note 1
2
. Stop internal operation.
Be sure to set this bit to 1 when the SCL0 and SDA0 lines are high level. Condition for clearing (IICE0 bit = 0) * Cleared by instruction * Reset Condition for setting (IICE0 bit = 1) * Set by instruction
LREL0 0 1
Note 2
Exit from communications Normal operation This exits from the current communications and sets standby mode. This setting is automatically cleared to 0 after being executed. Its uses include cases in which a locally irrelevant extension code has been received. The SCL0 and SDA0 lines are set to high impedance. The STT0, SPT0, IICS0.MSTS0, IICS0.EXC0, IICS0.COI0, IICS0.TRC0, IICS0.ACKD0, and IICS0.STD0 bits are cleared to 0.
The standby mode following exit from communications remains in effect until the following communications entry conditions are met. * After a stop condition is detected, restart is in master mode. * An address match or extension code reception occurs after the start condition. Condition for clearing (LREL0 bit = 0) * Automatically cleared after execution * Reset Condition for setting (LREL0 bit = 1) * Set by instruction
WREL0 0 1
Note 2
Wait cancellation control Do not cancel wait Cancel wait. This setting is automatically cleared to 0 after wait is canceled. Condition for setting (WREL0 bit = 1) * Set by instruction
Condition for clearing (WREL0 bit = 0) * Automatically cleared after execution * Reset
Notes 1. 2. Caution
The IICS0 register, and the IICF0.STCF0, IICF0.IICBSY0, IICCL0.CLD0, and IICCL0.DAD0 bits are reset. This flag's signal is invalid when the IICE0 bit = 0. If the I2C0 operation is enabled (IICE0 bit = 1) when the SCL0 line is high level and the SDA0 line is low level, the start condition is detected immediately. To avoid this, after enabling the I2C0 operation, immediately set the LREL0 bit to 1 with a bit manipulation instruction.
560
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(2/4)
Note
SPIE0 0 1
Enable/disable generation of interrupt request when stop condition is detected Disable Enable Condition for setting (SPIE0 bit = 1) * Set by instruction
Condition for clearing (SPIE0 bit = 0) * Cleared by instruction * Reset
WTIM0 0
Note
Control of wait and interrupt request generation Interrupt request is generated at the eighth clock's falling edge. Master mode: After output of eight clocks, clock output is set to low level and wait is set. Slave mode: After input of eight clocks, the clock is set to low level and wait is set for master device.
1
Interrupt request is generated at the ninth clock's falling edge. Master mode: After output of nine clocks, clock output is set to low level and wait is set. Slave mode: After input of nine clocks, the clock is set to low level and wait is set for master device.
An interrupt is generated at the falling of the 9th clock during address transfer independently of the setting of this bit. The setting of this bit is valid when the address transfer is completed. When in master mode, a wait is inserted at the falling edge of the ninth clock during address transfers. For a slave device that has received a local address, a wait is inserted at the falling edge of the ninth clock after ACK is issued. However, when the slave device has received an extension code, a wait is inserted at the falling edge of the eighth clock. Condition for clearing (WTIM0 bit = 0) * Cleared by instruction * Reset Condition for setting (WTIM0 bit = 1) * Set by instruction
ACKE0 0 1
Note
Acknowledgment control Disable acknowledgment. Enable acknowledgment. During the ninth clock period, the SDA0 line is set to low level.
The ACKE0 bit setting is invalid for address reception. In this case, ACK is generated when the addresses match. However, the ACKE0 bit setting is valid for address reception of the extension code. Condition for clearing (ACKE0 bit = 0) * Cleared by instruction * Reset Condition for setting (ACKE0 bit = 1) * Set by instruction
Note This flag's signal is invalid when the IICE0 bit = 0.
Preliminary User's Manual U17703EJ1V0UD
561
CHAPTER 19 I C BUS
2
(3/4)
STT0 0 1 Do not generate a start condition. When bus is released (in STOP mode): Generate a start condition (for starting as master). The SDA0 line is changed from high level to low level while the SCL0 line is high level and then the start condition is generated. Next, after the rated amount of time has elapsed, the SCL0 line is changed to low level (wait status). When a third party is communicating * When communication reservation function is enabled (IICF0.IICRSV0 bit = 0) Functions as the start condition reservation flag. When set to 1, automatically generates a start condition after the bus is released. * When communication reservation function is disabled (IICRSV0 bit = 1) The IICF0.STCF0 bit is set to 1 and the information set (1) to the STT0 bit is cleared. No start condition is generated. In the wait state (when master device): Generates a restart condition after releasing the wait. Cautions concerning set timing For master reception: Cannot be set to 1 during transfer. Can be set to 1 only when the ACKE0 bit has been cleared to 0 and slave has been notified of final reception. For master transmission: A start condition may not be generated normally during the ACK period. Set to 1 during the wait period that follows output of the ninth clock. * Cannot be set to 1 at the same time as the SPT0 bit. * When the STT0 bit is set to 1, setting the STT0 bit to 1 again is disabled until the setting is cleared to 0. Condition for clearing (STT0 bit = 0) * When the STT0 bit is set to 1 in the communication reservation disabled status * Cleared when start condition is generated by master device * When the LREL0 bit = 1 (exit from communications) * When the IICE0 bit = 0 (operation stop) * Reset Condition for setting (STT0 bit = 1) * Set by instruction Start condition trigger
Remark
The STT0 bit is 0 if it is read after data setting.
562
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(4/4)
SPT0 0 1 Stop condition is not generated. Stop condition is generated (termination of master device's transfer). After the SDA0 line goes to low level, either set the SCL0 line to high level or wait until the SCL0 pin goes to high level. Next, after the rated amount of time has elapsed, the SDA0 line is changed from low level to high level and a stop condition is generated. Cautions concerning setting timing For master reception: Cannot be set to 1 during transfer. Can be set to 1 only when the ACKE0 bit has been cleared to 0 and during the wait period after slave has been notified of final reception. For master transmission: A stop condition may not be generated normally during the ACK period. Set to 1 during the wait period that follows output of the ninth clock. * Cannot be set to 1 at the same time as the STT0 bit. * The SPT0 bit can be set to 1 only when in master mode
Note
Stop condition trigger
.
* When the WTIM0 bit has been cleared to 0, if the SPT0 bit is set to 1 during the wait period that follows output of eight clocks, note that a stop condition will be generated during the high-level period of the ninth clock. The WTIM0 bit should be changed from 0 to 1 during the wait period following output of eight clocks, and the SPT0 bit should be set to 1 during the wait period that follows output of the ninth clock. * When the SPT0 bit is set to 1, setting the SPT0 bit to 1 again is disabled until the setting is cleared to 0. Condition for clearing (SPT0 bit = 0) * Cleared by loss in arbitration * Automatically cleared after stop condition is detected * When the LREL0 bit = 1 (exit from communications) * When the IICE0 bit = 0 (operation stop) * Reset Condition for setting (SPT0 bit = 1) * Set by instruction
Note Set the SPT0 bit to 1 only in master mode. However, the SPT0 bit must be set to 1 and a stop condition generated before the first stop condition is detected following the switch to operation enable status. For details, refer to 19.14 Cautions. Caution When the IICS0.TRC0 bit is set to 1, the WREL0 bit is set to 1 during the ninth clock and wait is canceled, after which the TRC0 bit is cleared to 0 and the SDA0 line is set to high impedance. Remark The SPT0 bit is 0 if it is read after data setting.
Preliminary User's Manual U17703EJ1V0UD
563
CHAPTER 19 I C BUS
2
(2) IIC status register 0 (IICS0) The IICS0 register indicates the status of the I2C0 bus. The IICS0 register is read-only, in 8-bit or 1-bit units. However, the IICS0 register can only be read when the IICC0.STT0 bit is 1 or during the wait period. Reset sets this register to 00H. Caution When the main clock is stopped and the CPU is operating on the subclock, do not access the IICS0 register. For details, refer to 3.4.8 (1) (b). (1/3)
After reset: 00H <7> IICS0 MSTS0 R <6> ALD0 Address: IICS0 FFFFFD86H <5> EXC0 <4> COI0 <3> TRC0 <2> ACKD0 <1> STD0 <0> SPD0
MSTS0 0 1
Master device status Slave device status or communication standby status Master device communication status Condition for setting (MSTS0 bit = 1) * When a start condition is generated
Condition for clearing (MSTS0 bit = 0) * When a stop condition is detected * When the ALD0 bit = 1 (arbitration loss) * Cleared by the IICC0.LREL0 bit = 1 (exit from communications) * When the IICC0.IICE0 bit changes from 1 to 0 (operation stop) * Reset
ALD0 0 1
Detection of arbitration loss This status means either that there was no arbitration or that the arbitration result was a "win". This status indicates the arbitration result was a "loss". The MSTS0 bit is cleared to 0. Condition for setting (ALD0 bit = 1)
Note
Condition for clearing (ALD0 bit = 0) * Automatically cleared after the IICS0 register is read * Reset * When the IICE0 bit changes from 1 to 0 (operation stop)
* When the arbitration result is a "loss".
Note This bit is also cleared when a bit manipulation instruction is executed for another bit in the IICS0 register.
564
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(2/3)
EXC0 0 1 Extension code was not received. Extension code was received. Condition for setting (EXC0 bit = 1) * When the higher four bits of the received address data is either "0000" or "1111" (set at the rising edge of the eighth clock). Detection of extension code reception
Condition for clearing (EXC0 bit = 0) * When a start condition is detected * When a stop condition is detected * Cleared by the LREL0 bit = 1 (exit from communications) * When the IICE0 bit changes from 1 to 0 (operation stop) * Reset
COI0 0 1 Addresses do not match. Addresses match.
Detection of matching addresses
Condition for clearing (COI0 bit = 0) * When a start condition is detected * When a stop condition is detected * Cleared by the LREL0 bit = 1 (exit from communications) * When the IICE0 bit changes from 1 to 0 * Reset
Condition for setting (COI0 bit = 1) * When the received address matches the local address (SVA0 register) (set at the rising edge of the eighth clock).
TRC0 0 1
Detection of transmit/receive status Receive status (other than transmit status). The SDA0 line is set for high impedance. Transmit status. The value in the SO latch is enabled for output to the SDA0 line (valid starting at the rising edge of the first byte's ninth clock).
Condition for clearing (TRC0 bit = 0) * When a stop condition is detected * Cleared by the LREL0 bit = 1 (exit from communications) * When the IICE0 bit changes from 1 to 0 (operation stop) * Cleared by the IICC0.WREL0 bit = 1 * Reset Master * When "1" is output to the first byte's LSB (transfer direction specification bit) Slave * When a start condition is detected When not used for communication
Note
Condition for setting (TRC0 bit = 1) Master * When a start condition is generated * When "0" is output to the first byte's LSB (transfer direction specification bit) Slave * When "1" is input in the first byte's LSB (transfer direction specification bit)
(wait release)
* When the ALD0 bit changes from 0 to 1 (arbitration loss)
Note The IICS0.TRC0 bit is cleared to 0 and the SDA0 line become high impedance when the IICC0.WREL0 bit is set to 1 and wait state is released at the ninth clock with the TRC0 bit = 1.
Preliminary User's Manual U17703EJ1V0UD
565
CHAPTER 19 I C BUS
2
(3/3)
ACKD0 0 1 ACK was not detected. ACK was detected. Condition for setting (ACKD0 bit = 1) * After the SDA0 pin is set to low level at the rising edge of the SCL0 pin's ninth clock Detection of ACK
Condition for clearing (ACKD0 bit = 0) * When a stop condition is detected * At the rising edge of the next byte's first clock * Cleared by the LREL0 bit = 1 (exit from communications) * When the IICE0 bit changes from 1 to 0 (operation stop) * Reset
STD0 0 1 Start condition was not detected.
Detection of start condition
Start condition was detected. This indicates that the address transfer period is in effect Condition for setting (STD0 bit = 1) * When a start condition is detected
Condition for clearing (STD0 bit = 0) * When a stop condition is detected * At the rising edge of the next byte's first clock following address transfer * Cleared by the LREL0 bit = 1 (exit from communications) * When the IICE0 bit changes from 1 to 0 (operation stop) * Reset
SPD0 0 1 Stop condition was not detected.
Detection of stop condition
Stop condition was detected. The master device's communication is terminated and the bus is released. Condition for setting (SPD0 bit = 1) * When a stop condition is detected
Condition for clearing (SPD0 bit = 0) * At the rising edge of the address transfer byte's first clock following setting of this bit and detection of a start condition * When the IICE0 bit changes from 1 to 0 (operation stop) * Reset
566
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(3) IIC flag register 0 (IICF0) IICF0 is a register that set the operation mode of I2C0 and indicate the status of the I2C bus. These registers can be read or written in 8-bit or 1-bit units. However, the STCF0 and IICBSY0 bits are readonly. The IICRSV0 bit can be used to enable/disable the communication reservation function (refer to 19.13 Communication Reservation). The STCEN0 bit can be used to set the initial value of the IICBSY0 bit (refer to 19.14 Cautions). The IICRSV0 and STCEN0 bits can be written only when the operation of I2C0 is disabled (IICC0.IICE0 bit = 0). When operation is enabled, the IICF0 register can be read. Reset sets this register to 00H.
Preliminary User's Manual U17703EJ1V0UD
567
CHAPTER 19 I C BUS
2
After reset: 00H <7> IICF0 STCF0
R/WNote <6> IICBSY0
Address: IICF0 FFFFFD8AH 5 0 4 0 3 0 2 0 <1> <0>
STCEN0 IICRSV0
STCF0 0 1 Generate start condition
IICC0.STT0 clear flag
Start condition generation unsuccessful: clear STT0 flag Condition for setting (STCF0 bit = 1) * Generating start condition unsuccessful and the STT0 bit cleared to 0 when communication reservation is disabled (IICRSV0 bit = 1).
Condition for clearing (STCF0 bit = 0) * Clearing by setting the STT0 bit = 1 * When the IICE0 bit = 0 * Reset
IICBSY0 0 1
I2C0 bus status flag Bus release status (initial communication status when STCEN0 bit = 1) Bus communication status (initial communication status when STCEN0 bit = 0) Condition for setting (IICBSY0 bit = 1) * Detection of start condition * Setting of the IICE0 bit when the STCEN0 bit = 0
Condition for clearing (IICBSY0 bit = 0) * Detection of stop condition * When the IICE0 bit = 0 * Reset
STCEN0 1
Initial start enable trigger After operation is enabled (IICE0 bit = 1), enable generation of a start condition upon detection of a stop condition. After operation is enabled (IICE0 bit = 1), enable generation of a start condition without detecting a stop condition.
Condition for clearing (STCEN0 bit = 0) * Detection of start condition * Reset
Condition for setting (STCEN0 bit = 1) * Setting by instruction
IICRSV0 0 1
Communication reservation function disable bit Enable communication reservation Disable communication reservation Condition for setting (IICRSV0 bit = 1) * Setting by instruction
Condition for clearing (IICRSV0 bit = 0) * Clearing by instruction * Reset
Note Bits 6 and 7 are read-only bits. Cautions 1. Write to the STCEN0 bit only when the operation is stopped (IICE0 bit = 0). 2. As the bus release status (IICBSY0 bit = 0) is recognized regardless of the actual bus status when the STCEN0 bit = 1, when generating the first start condition (STT0 bit = 1), it is necessary to verify that no third party communications are in progress in order to prevent such communications from being destroyed. 3. Write to the IICRSV0 bit only when the operation is stopped (IICE0 bit = 0).
568
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(4) IIC clock selection register 0 (IICCL0) The IICCL0 register is used to set the transfer clock for the I2C0 bus. The IICCL0 register can be read or written in 8-bit or 1-bit units. However, the CLD0 and DAD0 bits are readonly. The SMC0, CL01 and CL00 bits are set in combination with the IICX0.CLX0 bit (refer to 19.3 (6) I2C0 transfer clock setting method). Set the IICCL0 register when the IICC0.IICE0 bit = 0. Reset sets this register to 00H.
After reset: 00H 7 IICCL0 0
R/W
Note
Address: IICCL0 FFFFFD84H <5> CLD0 <4> DAD0 3 SMC0 2 DFC0 1 CL01 0 CL00
6 0
CLD0 0 1
Detection of SCL0 pin level (valid only when IICC0.IICE0 bit = 1) The SCL0 pin was detected at low level. The SCL0 pin was detected at high level. Condition for setting (CLD0 bit = 1) * When the SCL0 pin is at high level
Condition for clearing (CLD0 bit = 0) * When the SCL0 pin is at low level * When the IICE0 bit = 0 (operation stop) * Reset
DAD0 0 1
Detection of SDA0 pin level (valid only when IICE0 bit = 1) The SDA0 pin was detected at low level. The SDA0 pin was detected at high level. Condition for setting (DAD0 bit = 1) * When the SDA0 pin is at high level
Condition for clearing (DAD0 bit = 0) * When the SDA0 pin is at low level * When IICE0 bit = 0 (operation stop) * Reset
SMC0 0 1 Operates in standard mode. Operates in high-speed mode.
Operation mode switching
DFC0 0 1 Digital filter off. Digital filter on.
Digital filter operation control
Digital filter can be used only in high-speed mode. In high-speed mode, the transfer clock does not vary regardless of DFC0 bit set/clear. The digital filter is used for noise elimination in high-speed mode.
Note Bits 4 and 5 are read-only bits.
Preliminary User's Manual U17703EJ1V0UD
569
CHAPTER 19 I C BUS
2
(5) IIC function expansion register 0 (IICX0) These registers set the function expansion of I2C0 (valid only in high-speed mode). These registers can be read or written in 8-bit or 1-bit units. The CLX0 bit is set in combination with the IICCL0.SMC0, IICCL0.CL01, and IICCL0.CL00 bits (refer to 19.3 (6) I2C0 transfer clock setting method). Set the IICX0 register when the IICC0.IICE0 bit = 0. Reset sets this register to 00H.
After reset: 00H 7 IICX0 0
R/W 6 0
Address: IICX0 FFFFFD85H 5 0 4 0 3 0 2 0 1 0 <0> CLX0
(6) I2C0 transfer clock setting method The I2C0 transfer clock frequency (fSCL) is calculated using the following expression. fSCL = 1/(m x T + tR + tF) m = 12, 24, 48, 54, 86, 88, 172, 198 (refer to Table 19-2 Selection Clock Setting.) T: tR: tF: 1/fXX SCL0 rise time SCL0 fall time
For example, the I2C0 transfer clock frequency (fSCL) when fXX = 20 MHz, m = 54, tR = 200 ns, and tF = 50 ns is calculated using following expression. fSCL = 1/(54 x 50 ns + 200 ns + 50 ns) 339 kHz
m x T + tR + tF tR m/2 x T tF m/2 x T
SCL0
SCL0 inversion
SCL0 inversion
SCL0 inversion
The selection clock is set using a combination of the IICCL0.SMC0, IICCL0.CL01, and IICCL0.CL00 bits and the IICX0.CLX0 bit.
570
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
Table 19-2. Selection Clock Setting
IICX0 Bit 0 CLX0 0 0 0 0 0 0 0 1 1 1 1 Bit 3 SMC0 0 0 0 0 1 1 1 0 1 1 1 IICCL0 Bit 1 CL01 0 0 1 1 0 1 1 x 0 1 1 Bit 0 CL00 0 1 0 1 x 0 1 x x 0 1 fXX/2 fXX/2 fXX fXX/3 fXX/2 fXX fXX/3 Setting prohibited fXX/2 fXX Setting prohibited fXX/24 fXX/12 8.00 MHz to 8.38 MHz 4.00 MHz to 4.19 MHz High-speed mode (SMC0 bit = 1) fXX/88 fXX/172 fXX/86 fXX/198 fXX/48 fXX/24 fXX/54 4.0 MHz to 8.38 MHz 8.38 MHz to 16.76 MHz 4.19 MHz to 8.38 MHz 16.0 MHz to 19.8 MHz 8 MHz to 16.76 MHz 4 MHz to 8.38 MHz 16 MHz to 20 MHz High-speed mode (SMC0 bit = 1) Normal mode (SMC0 bit = 0) Selection Clock Transfer Clock (fXX/m) Settable Internal System Clock Frequency (fXX) Range Operation Mode
Remark
x:
don't care
Preliminary User's Manual U17703EJ1V0UD
571
CHAPTER 19 I C BUS
2
(7) IIC shift register 0 (IIC0) The IIC0 shift register is used for serial transmission/reception (shift operations) that is synchronized with the serial clock. The IIC0 shift register can be read or written in 8-bit units, but data should not be written to the IIC0 shift register during a data transfer. Access (read/write) the IIC0 shift register only during the wait period. Accessing this register in communication states other than the wait period is prohibited. However, for the master device, the IIC0 shift register can be written once only after the transmission trigger bit (IICC0.STT0 bit) has been set to 1. When the IIC0 shift register is written during wait, the wait is cancelled and data transfer is started. Reset sets this register to 00H.
After reset: 00H 7 IIC0
R/W 6
Address: IIC0 FFFFFD80H 5 4 3 2 1 0
(8) Slave address register 0 (SVA0) The SVA0 register holds the I2C bus's slave addresses. However, rewriting this register is prohibited when the IICS0.STD0 bit = 1 (start condition detection). The SVA0 register can be read or written in 8-bit units, but bit 0 is fixed to 0. Reset sets this register to 00H.
After reset: 00H 7 SVA0
R/W 6
Address: SVA0 FFFFFD83H 5 4 3 2 1 0 0
572
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.4 Functions
19.4.1 Pin configuration The serial clock pin (SCL0) and serial data bus pin (SDA0) are configured as follows. SCL0 .............. This pin is used for serial clock input and output. This pin is an N-ch open-drain output for both master and slave devices. Input is Schmitt input. SDA0 .............. This pin is used for serial data input and output. This pin is an N-ch open-drain output for both master and slave devices. Input is Schmitt input. Since outputs from the serial clock line and the serial data bus line are N-ch open-drain outputs, an external pull-up resistor is required. Figure 19-3. Pin Configuration Diagram
VDD
Slave device
Master device SCL0 Clock output VDD (Clock input) SDA0 Data output SDA0 Data output Clock input SCL0 (Clock output)
Data input
Data input
Preliminary User's Manual U17703EJ1V0UD
573
CHAPTER 19 I C BUS
2
19.5 I2C Bus Definitions and Control Methods
The following section describes the I2C bus's serial data communication format and the status generated by the I2C bus. The transfer timing for the "start condition", "address", "transfer direction specification", "data", and "stop condition" generated via the I2C bus's serial data bus is shown below. Figure 19-4. I2C Bus's Serial Data Transfer Timing
SCL0
1 to 7
8
9
1 to 8
9
1 to 8
9
SDA0 Start Address condition R/W ACK Data ACK Data ACK Stop condition
The master device generates the start condition, slave address, and stop condition. ACK can be generated by either the master or slave device (normally, it is generated by the device that receives 8bit data). The serial clock (SCL0) is continuously output by the master device. However, in the slave device, the SCL0's lowlevel period can be extended and a wait can be inserted. 19.5.1 Start condition A start condition is met when the SCL0 pin is at high level and the SDA0 pin changes from high level to low level. The start conditions for the SCL0 pin and SDA0 pin are generated when the master device starts a serial transfer to the slave device. Start conditions can be detected when the device is used as a slave. Figure 19-5. Start Conditions
H SCL0
SDA0
A start condition is generated when the IICC0.STT0 bit is set to 1 after a stop condition has been detected (IICS0.SPD0 bit = 1). When a start condition is detected, IICS0.STD0 bit is set to 1.
574
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.5.2 Addresses The 7 bits of data that follow the start condition are defined as an address. An address is a 7-bit data segment that is output in order to select one of the slave devices that are connected to the master device via bus lines. Therefore, each slave device connected via the bus lines must have a unique address. The slave devices include hardware that detects the start condition and checks whether or not the 7-bit address data matches the data values stored in the SVA0 register. If the address data matches the SVA0 values, the slave device is selected and communicates with the master device until the master device generates a start condition or stop condition. Figure 19-6. Address
SCL0
1
2
3
4
5
6
7
8
9
SDA0
AD6
AD5
AD4
AD3 Address
AD2
AD1
AD0
R/W
Note
INTIIC0
Note The interrupt request signal (INTIIC0) is generated if a local address or extension code is received during slave device operation.
The slave address and the eighth bit, which specifies the transfer direction as described in 19.5.3 written to the IIC0 register. The slave address is assigned to the higher 7 bits of the IIC0 register.
Transfer
direction specification below, are together written to the IIC0 register and are then output. Received addresses are
Preliminary User's Manual U17703EJ1V0UD
575
CHAPTER 19 I C BUS
2
19.5.3 Transfer direction specification In addition to the 7-bit address data, the master device sends 1 bit that specifies the transfer direction. When this transfer direction specification bit has a value of 0, it indicates that the master device is transmitting data to a slave device. When the transfer direction specification bit has a value of 1, it indicates that the master device is receiving data from a slave device. Figure 19-7. Transfer Direction Specification
SCL0
1
2
3
4
5
6
7
8
9
SDA0
AD6
AD5
AD4
AD3
AD2
AD1
AD0
R/W
Transfer direction specification Note INTIIC0
Note The interrupt request signal (INTIIC0) is generated if a local address or extension code is received during slave device operation.
576
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.5.4 ACK ACK is used to confirm the serial data status of the transmitting and receiving devices. The receiving device returns ACK for every 8 bits of data it receives. The transmitting device normally receives ACK after transmitting 8 bits of data. When ACK is returned from the receiving device, the reception is judged as normal and processing continues. The detection of ACK is confirmed with the IICS0.ACKD0 bit. When the master device is the receiving device, after receiving the final data, it does not return ACK and generates the stop condition. When the slave device is the receiving device and does not return ACK, the master device generates either a stop condition or a restart condition, and then stops the current transmission. Failure to return ACK may be caused by the following factors. (a) Reception was not performed normally. (b) The final data was received. (c) The receiving device (slave) does not exist for the specified address. When the receiving device sets the SDA0 line to low level during the ninth clock, ACK is generated (normal reception). When the IICC0.ACKE0 bit is set to 1, automatic ACK generation is enabled. Transmission of the eighth bit following the 7 address data bits causes the IICS0.TRC0 bit to be set. Normally, set the ACKE0 bit to 1 for reception (TRC0 bit = 0). When the slave device is receiving (when TRC0 bit = 0), if the slave device cannot receive data or does not need to receive any more data, clear the ACKE0 bit to 0 to indicate to the master that no more data can be received. Similarly, when the master device is receiving (when TRC0 bit = 0) and the subsequent data is not needed, clear the ACKE0 bit to 0 to prevent ACK from being generated. This notifies the slave device (transmitting device) of the end of the data transmission (transmission stopped). Figure 19-8. ACK
SCL0
1
2
3
4
5
6
7
8
9
SDA0
AD6
AD5
AD4
AD3
AD2
AD1
AD0
R/W ACK
When the local address is received, ACK is automatically generated regardless of the value of the ACKE0 bit. No ACK is generated if the received address is not a local address (NACK). When receiving the extension code, set the ACKE0 bit to 1 in advance to generate ACK. The ACK generation method during data reception is based on the wait timing setting, as described by the following. * When 8-clock wait is selected (IICC0.WTIM0 bit = 0): ACK is generated at the falling edge of the SCL0n pin's eighth clock if the ACKE0 bit is set to 1 before the wait state cancellation. * When 9-clock wait is selected (IICC0.WTIM0 bit = 1): ACK is generated if the ACKE0 bit is set to 1 in advance.
Preliminary User's Manual U17703EJ1V0UD
577
CHAPTER 19 I C BUS
2
19.5.5 Stop condition When the SCL0 pin is at high level, changing the SDA0 pin from low level to high level generates a stop condition. A stop condition is generated when serial transfer from the master device to the slave device has been completed. Stop conditions can be detected when the device is used as a slave. Figure 19-9. Stop Condition
H SCL0
SDA0
A stop condition is generated when the IICC0.SPT0 bit is set to 1. When the stop condition is detected, the IICS0.SPD0 bit is set to 1 and the interrupt request signal (INTIIC0) is generated when the IICC0.SPIE0 bit is set to 1.
578
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.5.6 Wait state The wait state is used to notify the communication partner that a device (master or slave) is preparing to transmit or receive data (i.e., is in a wait state). Setting the SCL0 pin to low level notifies the communication partner of the wait status. When wait status has been canceled for both the master and slave devices, the next data transfer can begin. Figure 19-10. Wait State (1/2)
(a) When master device has a nine-clock wait and slave device has an eight-clock wait (master: transmission, slave: reception, and IICC0.ACKE0 bit = 1)
Master Master returns to high Wait after output impedance but slave is in wait state (low level). of ninth clock. IIC0 data write (cancel wait)
IIC0
SCL0
6
7
8
9
1
2
3
Slave Wait after output of eighth clock. IIC0 SCL0 FFH is written to IIC0 register or IICC0.WREL0 bit is set to 1.
ACKE0
H
Transfer lines
Wait state from slave 6 7 8 9
Wait state from master 1 2 3
SCL0
SDA0
D2
D1
D0
ACK
D7
D6
D5
Preliminary User's Manual U17703EJ1V0UD
579
CHAPTER 19 I C BUS
2
Figure 19-10. Wait State (2/2)
(b) When master and slave devices both have a nine-clock wait (master: transmission, slave: reception, and ACKE0 = 1)
Master IIC0
Master and slave both wait after output of ninth clock. IIC0 data write (cancel wait)
SCL0 Slave IIC0 SCL0
6
7
8
9
1
2
3
FFH is written to IIC0 register or WREL0 bit is set to 1.
ACKE0 Transfer lines SCL0
H Wait state from master and slave 6 7 8 9 Wait state from slave 1 2 3
SDA0
D2
D1
D0
ACK
D7
D6
D5
Generated according to previously set ACKE0 bit value
A wait state is automatically generated after a start condition is generated. Moreover, a wait state is automatically generated depending on the setting of the IICC0.WTIM0 bit. Normally, when the IICC0.WREL0 bit is set to 1 or when FFH is written to the IIC0 register, the wait status is canceled and the transmitting side writes data to the IIC0 register to cancel the wait status. The master device can also cancel the wait status via either of the following methods. * By setting the IICC0.STT0 bit to 1 * By setting the IICC0.SPT0 bit to 1
580
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.5.7 Wait state cancellation method In the case of I2C0, wait state can be canceled normally in the following ways. * By writing data to the IIC0 register * By setting the IICC0.WREL0 bit to 1 (wait state cancellation) * By setting the IICC0.STT0 bit to 1 (start condition generation)Note * By setting the IICC0.SPT0 bit to 1 (stop condition generation)Note Note Master only If any of these wait state cancellation actions is performed, I2C0 will cancel wait state and restart communication. When canceling wait state and sending data (including address), write data to the IIC0 register. To receive data after canceling wait state, or to complete data transmission, set the WREL0 bit to 1. To generate a restart condition after canceling wait state, set the STT0 bit to 1. To generate a stop condition after canceling wait state, set the SPT0 bit to 1. Execute cancellation only once for each wait state. For example, if data is written to the IIC0 register following wait state cancellation by setting the WREL0 bit to 1, conflict between the SDA0 line change timing and IIC0 register write timing may result in the data output to the SDA0 line may be incorrect. Even in other operations, if communication is stopped halfway, clearing the IICC0.IICE0 bit to 0 will stop communication, enabling wait state to be cancelled. If the I2C bus dead-locks due to noise, etc., setting the IICC0.LREL0 bit to 1 causes the communication operation to be exited, enabling wait state to be cancelled.
Preliminary User's Manual U17703EJ1V0UD
581
CHAPTER 19 I C BUS
2
19.6 I2C Interrupt Request Signals (INTIIC0)
The following shows the value of the IICS0 register at the INTIIC0 interrupt request signal generation timing and at the INTIIC0 signal timing. Remark ST: R/W: ACK: D7 to D0: SP: Start condition Transfer direction specification Acknowledge Data Stop condition
AD6 to AD0: Address
582
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.6.1 Master device operation (1) Start ~ Address ~ Data ~ Data ~ Stop (normal transmission/reception)
<1> When IICC0.WTIM0 bit = 0
IICC0.SPT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 1000X000B 3: IICS0 register = 1000X000B (WTIM0 bit = 1 4: IICS0 register = 1000XX00B 5: IICS0 register = 00000001B
Note
D7 to D0
ACK 2
D7 to D0
ACK 3
SP 4 5
)
Note To generate a stop condition, set the WTIM0 bit to 1 and change the timing of the generation of the interrupt request signal (INTIIC0). Remark : X: : Always generated Generated only when IICC0.SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1
SPT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 1000X100B 3: IICS0 register = 1000XX00B 4: IICS0 register = 00000001B D7 to D0 ACK 2 D7 to D0 ACK SP 3 4
Remark
: Always generated : Generated only when SPIE0 bit = 1 X: don't care
Preliminary User's Manual U17703EJ1V0UD
583
CHAPTER 19 I C BUS
2
(2) Start ~ Address ~ Data ~ Start ~ Address ~ Data ~ Stop (restart)
<1> When WTIM0 bit = 0
IICC0.STT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 1000X000B (WTIM0 bit = 1
Note 1
SPT0 bit = 1 R/W ACK 4 D7 to D0 ACK 5 SP 6 7
D7 to D0
ACK 2
ST 3
AD6 to AD0
) )
3: IICS0 register = 1000XX00B (WTIM0 bit = 0 4: IICS0 register = 1000X110B 5: IICS0 register = 1000X000B (WTIM0 bit = 1 6: IICS0 register = 1000XX00B 7: IICS0 register = 00000001B
Note 2
Note 3
)
Notes 1. To generate a start condition, set the WTIM0 bit to 1 and change the timing of the generation of the interrupt request signal (INTIIC0). 2. Clear the WTIM0 bit to 0 to make the settings original. 3. To generate a stop condition, set the WTIM0 bit to 1 and change the timing of the generation of the interrupt request signal (INTIIC0). Remark X: : Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1
STT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 1000XX00B 3: IICS0 register = 1000X110B 4: IICS0 register = 1000XX00B 5: IICS0 register = 00000001B D7 to D0 ACK 2 ST AD6 to AD0 R/W ACK 3 D7 to D0 ACK 4 SPT0 bit = 1 SP 5
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
584
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(3) Start ~ Code ~ Data ~ Data ~ Stop (extension code transmission) <1> When WTIM0 bit = 0
SPT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1010X110B 2: IICS0 register = 1010X000B 3: IICS0 register = 1010X000B (WTIM0 bit = 1 4: IICS0 register = 1010XX00B 5: IICS0 register = 00000001B
Note
D7 to D0
ACK 2
D7 to D0
ACK 3
SP 4 5
)
Note To generate a stop condition, set the WTIM0 bit to 1 and change the timing of the generation of the interrupt request signal (INTIIC0). Remark X: : Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1
SPT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1010X110B 2: IICS0 register = 1010X100B 3: IICS0 register = 1010XX00B 4: IICS0 register = 00000001B D7 to D0 ACK 2 D7 to D0 ACK SP 3 4
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
Preliminary User's Manual U17703EJ1V0UD
585
CHAPTER 19 I C BUS
2
19.6.2 Slave device operation (when receiving slave address data (address match)) (1) Start ~ Address ~ Data ~ Data ~ Stop
<1> When IICC0.WTIM0 bit = 0
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0001X110B 2: IICS0 register = 0001X000B 3: IICS0 register = 0001X000B 4: IICS0 register = 00000001B D7 to D0 ACK 2 D7 to D0 ACK 3 SP 4
Remark X:
: Always generated : Generated only when IICC0.SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0001X110B 2: IICS0 register = 0001X100B 3: IICS0 register = 0001XX00B 4: IICS0 register = 00000001B D7 to D0 ACK 2 D7 to D0 ACK SP 3 4
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
586
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(2) Start ~ Address ~ Data ~ Start ~ Address ~ Data ~ Stop
<1> When WTIM0 bit = 0 (after restart, address match)
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0001X110B 2: IICS0 register = 0001X000B 3: IICS0 register = 0001X110B 4: IICS0 register = 0001X000B 5: IICS0 register = 00000001B D7 to D0 ACK 2 ST AD6 to AD0 R/W ACK 3 D7 to D0 ACK 4 SP 5
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1 (after restart, address match)
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0001X110B 2: IICS0 register = 0001XX00B 3: IICS0 register = 0001X110B 4: IICS0 register = 0001XX00B 5: IICS0 register = 00000001B D7 to D0 ACK ST 2 AD6 to AD0 R/W ACK 3 D7 to D0 ACK 4 SP 5
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
Preliminary User's Manual U17703EJ1V0UD
587
CHAPTER 19 I C BUS
2
(3) Start ~ Address ~ Data ~ Start ~ Code ~ Data ~ Stop
<1> When WTIM0 bit = 0 (after restart, extension code reception)
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0001X110B 2: IICS0 register = 0001X000B 3: IICS0 register = 0010X010B 4: IICS0 register = 0010X000B 5: IICS0 register = 00000001B D7 to D0 ACK 2 ST AD6 to AD0 R/W ACK 3 D7 to D0 ACK 4 SP 5
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1 (after restart, extension code reception)
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0001X110B 2: IICS0 register = 0001XX00B 3: IICS0 register = 0010X010B 4: IICS0 register = 0010X110B 5: IICS0 register = 0010XX00B 6: IICS0 register = 00000001B D7 to D0 ACK 2 ST AD6 to AD0 R/W ACK 3 4 D7 to D0 ACK SP 5 6
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
588
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(4) Start ~ Address ~ Data ~ Start ~ Address ~ Data ~ Stop
<1> When WTIM0 bit = 0 (after restart, address mismatch (= not extension code))
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0001X110B 2: IICS0 register = 0001X000B 3: IICS0 register = 00000110B 4: IICS0 register = 00000001B D7 to D0 ACK 2 ST AD6 to AD0 R/W ACK 3 D7 to D0 ACK SP 4
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1 (after restart, address mismatch (= not extension code))
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0001X110B 2: IICS0 register = 0001XX00B 3: IICS0 register = 00000110B 4: IICS0 register = 00000001B D7 to D0 ACK 2 ST AD6 to AD0 R/W ACK 3 D7 to D0 ACK SP 4
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
Preliminary User's Manual U17703EJ1V0UD
589
CHAPTER 19 I C BUS
2
19.6.3 Slave device operation (when receiving extension code) Always under communication when receiving the extension code. (1) Start ~ Code ~ Data ~ Data ~ Stop
<1> When IICC0.WTIM0 bit = 0
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0010X010B 2: IICS0 register = 0010X000B 3: IICS0 register = 0010X000B 4: IICS0 register = 00000001B D7 to D0 ACK 2 D7 to D0 ACK 3 SP 4
Remark X:
: Always generated : Generated only when IICC0.SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0010X010B 2: IICS0 register = 0010X110B 3: IICS0 register = 0010X100B 4: IICS0 register = 0010XX00B 5: IICS0 register = 00000001B 2 D7 to D0 ACK 3 D7 to D0 ACK SP 4 5
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
590
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(2) Start ~ Code ~ Data ~ Start ~ Address ~ Data ~ Stop
<1> When WTIM0 bit = 0 (after restart, address match)
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0010X010B 2: IICS0 register = 0010X000B 3: IICS0 register = 0001X110B 4: IICS0 register = 0001X000B 5: IICS0 register = 00000001B D7 to D0 ACK 2 ST AD6 to AD0 R/W ACK 3 D7 to D0 ACK 4 SP 5
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1 (after restart, address match)
ST AD6 to AD0 R/W ACK 1 2 D7 to D0 ACK 3 ST AD6 to AD0 R/W ACK 4 D7 to D0 ACK SP 5 6
1: IICS0 register = 0010X010B 2: IICS0 register = 0010X110B 3: IICS0 register = 0010XX00B 4: IICS0 register = 0001X110B 5: IICS0 register = 0001XX00B 6: IICS0 register = 00000001B
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
Preliminary User's Manual U17703EJ1V0UD
591
CHAPTER 19 I C BUS
2
(3) Start ~ Code ~ Data ~ Start ~ Code ~ Data ~ Stop
<1> When WTIM0 bit = 0 (after restart, extension code reception)
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0010X010B 2: IICS0 register = 0010X000B 3: IICS0 register = 0010X010B 4: IICS0 register = 0010X000B 5: IICS0 register = 00000001B D7 to D0 ACK 2 ST AD6 to AD0 R/W ACK 3 D7 to D0 ACK 4 SP 5
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1 (after restart, extension code reception)
ST AD6 to AD0 R/W ACK 1 2 D7 to D0 ACK 3 ST AD6 to AD0 R/W ACK 4 5 D7 to D0 ACK 6 SP 7
1: IICS0 register = 0010X010B 2: IICS0 register = 0010X110B 3: IICS0 register = 0010XX00B 4: IICS0 register = 0010X010B 5: IICS0 register = 0010X110B 6: IICS0 register = 0010XX00B 7: IICS0 register = 00000001B
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
592
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(4) Start ~ Code ~ Data ~ Start ~ Address ~ Data ~ Stop
<1> When WTIM0 bit = 0 (after restart, address mismatch (= not extension code))
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0010X010B 2: IICS0 register = 0010X000B 3: IICS0 register = 00000110B 4: IICS0 register = 00000001B D7 to D0 ACK 2 ST AD6 to AD0 R/W ACK 3 D7 to D0 ACK SP 4
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1 (after restart, address mismatch (= not extension code))
ST AD6 to AD0 R/W ACK 1 2 D7 to D0 ACK ST 3 AD6 to AD0 R/W ACK 4 D7 to D0 ACK SP 5
1: IICS0 register = 0010X010B 2: IICS0 register = 0010X110B 3: IICS0 register = 0010XX00B 4: IICS0 register = 00000110B 5: IICS0 register = 00000001B
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
Preliminary User's Manual U17703EJ1V0UD
593
CHAPTER 19 I C BUS
2
19.6.4 Operation without communication (1) Start ~ Code ~ Data ~ Data ~ Stop
ST
AD6 to AD0
R/W
ACK
D7 to D0
ACK
D7 to D0
ACK
SP 1
1: IICS0 register = 00000001B
Remark
: Generated only when IICC0.SPIE0 bit = 1
594
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.6.5 Arbitration loss operation (operation as slave after arbitration loss) When used as master in the multi-master system, check the arbitration result by reading the IICS0.MSTS0 bit for checking arbitration result by each INTIIC0 interrupt occurrence. (1) When arbitration loss occurs during transmission of slave address data
<1> When IICC0.WTIM0 bit = 0
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0101X110B 2: IICS0 register = 0001X000B 3: IICS0 register = 0001X000B 4: IICS0 register = 00000001B D7 to D0 ACK 2 D7 to D0 ACK 3 SP 4
Remark X:
: Always generated : Generated only when IICC0.SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0101X110B 2: IICS0 register = 0001X100B 3: IICS0 register = 0001XX00B 4: IICS0 register = 00000001B D7 to D0 ACK 2 D7 to D0 ACK SP 3 4
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
Preliminary User's Manual U17703EJ1V0UD
595
CHAPTER 19 I C BUS
2
(2) When arbitration loss occurs during transmission of extension code
<1> When WTIM0 bit = 0
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0110X010B 2: IICS0 register = 0010X000B 3: IICS0 register = 0010X000B 4: IICS0 register = 00000001B D7 to D0 ACK 2 D7 to D0 ACK 3 SP 4
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 0110X010B 2: IICS0 register = 0010X110B 3: IICS0 register = 0010X100B 4: IICS0 register = 0010XX00B 5: IICS0 register = 00000001B 2 D7 to D0 ACK 3 D7 to D0 ACK SP 4 5
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
596
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.6.6 Operation when arbitration loss occurs (no communication after arbitration loss) When used as master in the multi-master system, check the arbitration result by reading the IICS0.MSTS0 bit for checking arbitration result by each INTIIC0 interrupt occurrence. (1) When arbitration loss occurs during transmission of slave address data
ST
AD6 to AD0
R/W
ACK 1
D7 to D0
ACK
D7 to D0
ACK
SP 2
1: IICS0 register = 01000110B 2: IICS0 register = 00000001B
Remark
: Always generated : Generated only when IICC0.SPIE0 bit = 1
(2) When arbitration loss occurs during transmission of extension code
ST
AD6 to AD0
R/W
ACK 1
D7 to D0
ACK
D7 to D0
ACK
SP 2
1:
IICS0 register = 0110X010B
IICC0.LREL0 bit is set to 1 by software 2: IICS0 register = 00000001B
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
Preliminary User's Manual U17703EJ1V0UD
597
CHAPTER 19 I C BUS
2
(3) When arbitration loss occurs during data transfer
<1> When IICC0.WTIM0 bit = 0
ST
AD6 to AD0
R/W
ACK 1
D7 to D0
ACK 2
D7 to D0
ACK
SP 3
1: IICS0 register = 10001110B 2: IICS0 register = 01000000B 3: IICS0 register = 00000001B
Remark
: Always generated : Generated only when SPIE0 bit = 1
<2> When WTIM0 bit = 1
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 10001110B 2: IICS0 register = 01000100B 3: IICS0 register = 00000001B D7 to D0 ACK 2 D7 to D0 ACK SP 3
Remark
: Always generated : Generated only when SPIE0 bit = 1
598
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(4) When arbitration loss occurs due to restart condition during data transfer
<1> Not extension code (Example: Address mismatch)
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 01000110B 3: IICS0 register = 00000001B D7 to Dn ST AD6 to AD0 R/W ACK 2 D7 to D0 ACK SP 3
Remarks 1.
: Always generated : Generated only when SPIE0 bit = 1 X: don't care
2. Dn = D6 to D0 <2> Extension code
ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 0110X010B IICC0.LREL0 bit is set to 1 by software 3: IICS0 register = 00000001B D7 to Dn ST AD6 to AD0 R/W ACK 2 D7 to D0 ACK SP 3
Remarks 1.
: Always generated : Generated only when SPIE0 bit = 1 X: don't care
2. Dn = D6 to D0
Preliminary User's Manual U17703EJ1V0UD
599
CHAPTER 19 I C BUS
2
(5) When arbitration loss occurs due to stop condition during data transfer
ST
AD6 to AD0
R/W
ACK 1
D7 to Dn
SP 2
1: IICS0 register = 1000X110B 2: IICS0 register = 01000001B
Remarks 1.
: Always generated : Generated only when SPIE0 bit = 1 X: don't care
2. Dn = D6 to D0
600
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(6) When arbitration loss occurs due to low level of SDA0n pin when attempting to generate a restart condition
<1> When WTIM0 bit = 0
IICC0.STT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 1000X000B (WTIM0 bit = 1) 3: IICS0 register = 1000X100B (WTIM0 bit = 0) 4: IICS0 register = 01000000B 5: IICS0 register = 00000001B D7 to D0 ACK 2 3 D7 to D0 ACK 4 D7 to D0 ACK SP 5
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1
IICC0.STT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 1000X100B 3: IICS0 register = 01000100B 4: IICS0 register = 00000001B D7 to D0 ACK 2 D7 to D0 ACK 3 D7 to D0 ACK SP 4
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
Preliminary User's Manual U17703EJ1V0UD
601
CHAPTER 19 I C BUS
2
(7) When arbitration loss occurs due to a stop condition when attempting to generate a restart condition
<1> When WTIM0 bit = 0
STT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 1000X000B (WTIM0 bit = 1) 3: IICS0 register = 1000XX00B 4: IICS0 register = 01000001B D7 to D0 ACK 2 3 SP 4
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1
STT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 1000XX00B 3: IICS0 register = 01000001B D7 to D0 ACK 2 SP 3
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
602
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(8) When arbitration loss occurs due to low level of SDA0n pin when attempting to generate a stop condition
<1> When WTIM0 bit = 0
IICC0.SPT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 1000X000B (WTIM0 bit = 1) 3: IICS0 register = 1000X100B (WTIM0 bit = 0) 4: IICS0 register = 01000100B 5: IICS0 register = 00000001B D7 to D0 ACK 2 3 D7 to D0 ACK 4 D7 to D0 ACK SP 5
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
<2> When WTIM0 bit = 1
IICC0.SPT0 bit = 1 ST AD6 to AD0 R/W ACK 1 1: IICS0 register = 1000X110B 2: IICS0 register = 1000X100B 3: IICS0 register = 01000100B 4: IICS0 register = 00000001B D7 to D0 ACK 2 D7 to D0 ACK 3 D7 to D0 ACK SP 4
Remark X:
: Always generated : Generated only when SPIE0 bit = 1 don't care
Preliminary User's Manual U17703EJ1V0UD
603
CHAPTER 19 I C BUS
2
19.7 Interrupt Request Signal (INTIIC0) Generation Timing and Wait Control
The setting of the IICC0.WTIM0 bit determines the timing by which the INTIIC0 signal is generated and the corresponding wait control, as shown below. Table 19-3. INTIIC0 Signal Generation Timing and Wait Control
WTIM0 Bit During Slave Device Operation Address 0 1 9 9
Notes 1, 2
During Master Device Operation Address 9 9 Data Reception 8 9 Data Transmission 8 9
Data Reception 8 9
Note 2
Data Transmission 8 9
Note 2
Notes 1, 2
Note 2
Note 2
Notes 1.
The slave device's INTIIC0 signal and wait period occurs at the falling edge of the ninth clock only when there is a match with the address set to the SVA0 register. At this point, ACK is generated regardless of the value set to the IICC0.ACKE0 bit. For a slave device that has received an extension code, the INTIIC0 signal occurs at the falling edge of the eighth clock. When the address does not match after restart, the INTIIC0 signal is generated at the falling edge of the ninth clock, but no wait occurs.
2.
If the received address does not match the contents of the SVA0 register and extension codes have not been received, neither the INTIIC0 signal nor a wait occurs.
Remark The numbers in the table indicate the number of the serial clock's clock signals. Interrupt requests and wait control are both synchronized with the falling edge of these clock signals. (1) During address transmission/reception * Slave device operation: * Master device operation: Interrupt and wait timing are determined depending on the conditions in Notes 1 and 2 above regardless of the WTIM0 bit. Interrupt and wait timing occur at the falling edge of the ninth clock regardless of the WTIM0 bit. (2) During data reception * Master/slave device operation: Interrupt and wait timing are determined according to the WTIM0 bit. (3) During data transmission * Master/slave device operation: Interrupt and wait timing are determined according to the WTIM0 bit.
604
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
(4) Wait cancellation method The four wait cancellation methods are as follows. * By writing data to the IIC0 register * By setting the IICC0.WREL0 bit (canceling wait state) * By setting the IICC0.STT0 bit (generating start condition)Note * By setting the IICC0.SPT0 bit (generating stop condition)Note Note Master only When an 8-clock wait has been selected (WTIM0 bit = 0), whether or not ACK has been generated must be determined prior to wait cancellation. (5) Stop condition detection The INTIIC0 signal is generated when a stop condition is detected.
19.8 Address Match Detection Method
When in I2C bus mode, the master device can select a particular slave device by transmitting the corresponding slave address. Address match detection is performed automatically by hardware. An INTIIC0 interrupt request signal occurs when a local address has been set to the SVA0 register and when the address set to the SVA0 register matches the slave address sent by the master device, or when an extension code has been received.
19.9 Error Detection
In I2C bus mode, the status of the serial data bus (SDA0) during data transmission is captured by the IIC0 register of the transmitting device, so the IIC0 register data prior to transmission can be compared with the transmitted IIC0 register data to enable detection of transmission errors. A transmission error is judged as having occurred when the compared data values do not match.
Preliminary User's Manual U17703EJ1V0UD
605
CHAPTER 19 I C BUS
2
19.10 Extension Code
(1) When the higher 4 bits of the receive address are either 0000 or 1111, the extension code flag (EXC0) is set for extension code reception and an interrupt request signal (INTIIC0) is issued at the falling edge of the eighth clock. The local address stored in the SVA0 register is not affected. (2) If 11110xx0 is set to the SVA0 register by a 10-bit address transfer and 11110xx0 is transferred from the master device, the results are as follows. Note that the INTIIC0 signal occurs at the falling edge of the eighth clock. * Higher 4 bits of data match: IICS0.EXC0 bit = 1 * 7 bits of data match: IICS0.COI0 bit = 1 (3) Since the processing after the INTIIC0 signal occurs differs according to the data that follows the extension code, such processing is performed by software. The slave that has received an extension code is always under communication, even if the addresses mismatch. For example, when operation as a slave is not desired after the extension code is received, set the IICC0.LREL0 bit to 1 and the CPU will enter the next communication wait state. Table 19-4. Extension Code Bit Definitions
Slave Address 0000 0000 0000 0000 1111 000 000 001 010 0xx R/W Bit 0 1 X X X General call address Start byte CBUS address Address that is reserved for different bus format 10-bit slave address specification Description
606
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.11 Arbitration
When several master devices simultaneously generate a start condition (when the IICC0.STT0 bit is set to 1 before the IICS0.STD0 bit is set to 1), communication among the master devices is performed as the number of clocks is adjusted until the data differs. This kind of operation is called arbitration. When one of the master devices loses in arbitration, an arbitration loss flag (IICS0.ALD0 bit) is set (1) via the timing by which the arbitration loss occurred, and the SCL0 and SDA0 lines are both set for high impedance, which releases the bus. The arbitration loss is detected based on the timing of the next interrupt request signal (INTIIC0) (the eighth or ninth clock, when a stop condition is detected, etc.) and the ALD0 bit = 1 setting that has been made by software. For details of interrupt request timing, refer to 19.6 I2C Interrupt Request Signals (INTIIC0). Figure 19-11. Arbitration Timing Example
Master 1 SCL0 Hi-Z
SDA0 Master 2 SCL0
Hi-Z Master 1 loses arbitration
SDA0 Transfer lines SCL0
SDA0
Preliminary User's Manual U17703EJ1V0UD
607
CHAPTER 19 I C BUS
2
Table 19-5. Status During Arbitration and Interrupt Request Generation Timing
Status During Arbitration During address transmission Read/write data after address transmission During extension code transmission Read/write data after extension code transmission During data transmission During ACK transfer period after data reception When restart condition is detected during data transfer When stop condition is detected during data transfer When the SDA0 pin is at low level while attempting to generate a restart condition When stop condition is detected while attempting to generate a restart condition When the SDA0 pin is at low level while attempting to generate a stop condition When the SCL0 pin is at low level while attempting to generate a restart condition At falling edge of eighth or ninth clock following byte transfer
Note 1
Interrupt Request Generation Timing At falling edge of eighth or ninth clock following byte transfer
Note 1
When stop condition is generated (when IICC0.SPIE0 bit = 1) At falling edge of eighth or ninth clock following byte transfer
Note 2
Note 2
Note 1
When stop condition is generated (when SPIE0 bit = 1)
Notes 1.
When the IICC0.WTIM0 bit = 1, an interrupt request occurs at the falling edge of the ninth clock. When the WTIM0 bit = 0 and the extension code's slave address is received, an interrupt request occurs at the falling edge of the eighth clock.
2.
When there is a possibility that arbitration will occur, set the SPIE0 bit = 1 for master device operation.
19.12 Wakeup Function
The I2C bus slave function is a function that generates an interrupt request signal (INTIIC0) when a local address or extension code has been received. This function makes processing more efficient by preventing unnecessary interrupt requests from occurring when addresses do not match. When a start condition is detected, wakeup standby mode is set. This wakeup standby mode is in effect while addresses are transmitted due to the possibility that an arbitration loss may change the master device (which has generated a start condition) to a slave device. However, when a stop condition is detected, the IICC0.SPIE0 bit is set regardless of the wake up function, and this determines whether interrupt requests are enabled or disabled.
608
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.13 Communication Reservation
19.13.1 When communication reservation function is enabled (IICF0.IICRSV0 bit = 0) To start master device communications when not currently using a bus, a communication reservation can be made to enable transmission of a start condition when the bus is released. There are two modes under which the bus is not used. * When arbitration results in neither master nor slave operation * When an extension code is received and slave operation is disabled (ACK is not returned and the bus was released when the IICC0.LREL0 bit was set to "1"). If the IICC0.STT0 bit is set (1) while the bus is not used, a start condition is automatically generated and wait status is set after the bus is released (after a stop condition is detected). A communication is automatically started as the master by setting the IICC0.SPIE0 bit to 1, detecting the bus release due to an interrupt request (INTIIC0) occurrence (detecting a stop condition), and then writing the address to the IIC0 register. Before detecting a stop condition, data written to the IIC0 register is set to invalid. When the STT0 bit has been set (1), the operation mode (as start condition or as communication reservation) is determined according to the bus status. If the bus has been released.............................................. a start condition is generated If the bus has not been released (standby mode) .............. communication reservation To detect which operation mode has been determined for the STT0 bit, set the STT0 bit (1), wait for the wait period, then check the IICS0.MSTS0 bit. Wait periods, which should be set via software, are listed in Table 19-6. These wait periods can be set via the settings for the IICX0.CLX0, IICCL0.SMC0, IICCL0.CL01, and IICCL0.CL00 bits. Table 19-6. Wait Periods
CLX0 0 0 0 0 0 0 0 1 1 SMC0 0 0 0 0 1 1 1 1 1 CL01 0 0 1 1 0 1 1 0 1 CL00 0 1 0 1 1/0 0 1 1/0 0 Selected Clock fXX/2 fXX/2 fXX fXX/3 fXX/2 fXX fXX/3 fXX/2 fXX Wait Period 46 clocks 86 clocks 43 clocks 102 clocks 30 clocks 15 clocks 36 clocks 18 clocks 9 clocks
Preliminary User's Manual U17703EJ1V0UD
609
CHAPTER 19 I C BUS
2
The communication reservation timing is shown below. Figure 19-12. Communication Reservation Timing
Program processing STT0=1
Write to IIC0
Hardware processing
Communication reservation
Set SPD0 and INTIIC0
Set STD0
SCL0
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
SDA0
Generated by master with bus access
IIC0: STT0: STD0: SPD0:
IIC shift register 0 Bit 1 of IIC control register 0 (IICC0) Bit 1 of IIC status register 0 (IICS0) Bit 0 of IIC status register 0 (IICS0)
Communication reservations are accepted via the following timing.
After the IICS0.STD0 bit is set to 1, a
communication reservation can be made by setting the IICC0.STT0 bit to 1 before a stop condition is detected. Figure 19-13. Timing for Accepting Communication Reservations
SCL0
SDA0
STD0
SPD0
Standby mode
610
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
The communication reservation flowchart is illustrated below. Figure 19-14. Communication Reservation Flowchart
DI
STT0 = 1
; Sets STT0 flag (communication reservation).
Define communication reservation
; Defines that communication reservation is in effect (defines and sets user flag to any part of RAM).
Wait
; Gets wait period set by software (refer to Table 19-6).
Note
(Communication reservation) Yes MSTS0 = 0?
; Confirmation of communication reservation
No (Generate start condition) Cancel communication reservation ; Clear user flag.
IIC0 xxH
; IIC0 write operation
EI
Note The communication reservation operation executes a write to the IIC0 register when a stop condition interrupt request occurs.
Preliminary User's Manual U17703EJ1V0UD
611
CHAPTER 19 I C BUS
2
19.13.2 When communication reservation function is disabled (IICF0.IICRSV0 bit = 1) When the IICC0.STT0 bit is set when the bus is not used in a communication during bus communication, this request is rejected and a start condition is not generated. The following two statuses are included in the status where bus is not used. * When arbitration results in neither master nor slave operation * When an extension code is received and slave operation is disabled (ACK is not returned and the bus was released when the IICC0.LREL0 bit was set to 1) To confirm whether the start condition was generated or request was rejected, check the IICF0.STCF0 flag. The time shown in Table 19-7 is required until the STCF0 flag is set after setting the STT0 bit = 1. Therefore, secure the time by software. Table 19-7. Wait Periods
CL01 0 0 1 1 CL00 0 1 0 1 Selected Clock fXX/2 fXX/2 fXX fXX/3 Wait Period 6 clocks 6 clocks 3 clocks 9 clocks
612
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.14 Cautions
(1) When IICF0.STCEN0 bit = 0 Immediately after I2C0 operation is enabled, the bus communication status (IICF0.IICBSY0 bit = 1) is recognized regardless of the actual bus status. To execute master communication in the status where a stop condition has not been detected, generate a stop condition and then release the bus before starting the master communication. Use the following sequence for generating a stop condition. <1> Set the IICCL0 register. <2> Set the IICC0.IICE0 bit. <3> Set the IICC0.SPT0 bit. (2) When IICF0.STCEN0 bit = 1 Immediately after I2C0 operation is enabled, the bus released status (IICBSY0 bit = 0) is recognized regardless of the actual bus status. To generate the first start condition (IICC0.STT0 bit = 1), it is necessary to confirm that the bus has been released, so as to not disturb other communications. (3) When the IICC0.IICE0 bit of the V850ES/KG2 is set to 1 while communications with other devices are in progress, the start condition may be detected depending on the status of the communication line. Be sure to set the IICC0.IICE0 bit to 1 when the SCL0 and SDA0 lines are high level. (4) Determine the operation clock frequency by the IICCL0 and IICX0 registers before enabling the operation (IICC0.IICE0 bit = 1). To change the operation clock frequency, clear the IICC0.IICE0 bit to 0 once. (5) After the IICC0.STT0 and IICC0.SPT0 bits have been set to 1, they must not be re-set without being cleared to 0 first. (6) If transmission has been reserved, set the IICC0.SPIE0 bit to 1 so that an interrupt request is generated by the detection of a stop condition. After an interrupt request has been generated, the wait state will be released by writing communication data to I2C0, then transferring will begin. If an interrupt is not generated by the detection of a stop condition, transmission will halt in the wait state because an interrupt request was not generated. However, it is not necessary to set the SPIE0 bit to 1 for the software to detect the IICS0.MSTS0 bit.
Preliminary User's Manual U17703EJ1V0UD
613
CHAPTER 19 I C BUS
2
19.15 Communication Operations
The following shows three operation procedures with the flowchart. (1) Master operation in single master system The flowchart when using the V850ES/KG2 as the master in a single master system is shown below. This flowchart is broadly divided into the initial settings and communication processing. Execute the initial settings at startup. If communication with the slave is required, prepare the communication and then execute communication processing. (2) Master operation in multimaster system In the I2C0 bus multimaster system, whether the bus is released or used cannot be judged by the I2C bus specifications when the bus takes part in a communication. Here, when data and clock are at a high level for a certain period (1 frame), the V850ES/KG2 takes part in a communication with bus released state. This flowchart is broadly divided into the initial settings, communication waiting, and communication processing. The processing when the V850ES/KG2 looses in arbitration and is specified as the slave is omitted here, and only the processing as the master is shown. slave. Execute the initial settings at startup to take part in a communication. Then, wait for the communication request as the master or wait for the specification as the The actual communication is performed in the communication processing, and it supports the transmission/reception with the slave and the arbitration with other masters. (3) Slave operation An example of when the V850ES/KG2 is used as the slave is shown below. When used as the slave, operation is started by an interrupt. Execute the initial settings at startup, then wait for the INTIIC0 interrupt occurrence (communication waiting). When the INTIIC0 interrupt occurs, the communication status is judged and its result is passed as a flag over to the main processing. By checking the flags, necessary communication processing is performed.
614
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.15.1 Master operation in single master system Figure 19-15. Master Operation in Single Master System
START Initialize I2C busNote Set ports IICX0 0XH IICCL0 XXH SVA0 XXH
Initial settings
Refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions to set the I2C mode before this function is used. Transfer clock selection Local address setting Start condition setting
IICF0 0XH Set STCEN0, IICRSV0 = 0 IICC0 XXH ACKE0 = WTIM0 = SPIE0 = 1 IICE0 = 1
STCEN0 = 1? No SPT0 = 1
Yes
Communication start preparation (stop condition generation)
INTIIC0 interrupt occurred? Yes
No Waiting for stop condition detection
STT0 = 1
Communication start preparation (start condition generation) Communication start (address, transfer direction specification)
Write IIC0
INTIIC0 interrupt occurred? Yes No ACKD0 = 1? Yes
Communication processing
No Waiting for ACK detection
TRC0 = 1? Yes Write IIC0
No ACKE0 = 1 WTIM0 = 0 Transmission start
WREL0 = 1
Reception start
INTIIC0 interrupt occurred? Yes
No Waiting for data transmission
INTIIC0 interrupt occurred? Yes
No Waiting for data reception
ACKD0 = 1? Yes No
No
Read IIC0
Transfer completed? Transfer completed? Yes Yes ACKE0 = 0 WTIM0 = WREL0 = 1 No SPT0 = 1 END INTIIC0 interrupt occurred? Yes
No
Restarted? Yes
No Waiting for ACK detection
2 Note Release the I C0 bus (SCL0, SDA0 pins = high level) in conformity with the specifications of the product
in communication. For example, when the EEPROMTM outputs a low level to the SDA0 pin, set the SCL0 pin to the output port and output clock pulses from that output port until when the SDA0 pin is constantly high level. Remark For the transmission and reception formats, conform to the specifications of the product in communication.
Preliminary User's Manual U17703EJ1V0UD
615
CHAPTER 19 I C BUS
2
19.15.2 Master operation in multimaster system Figure 19-16. Master Operation in Multimaster System (1/3)
START Refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions to set the I2C mode before this function is used. Transfer clock selection
Set ports IICX0 0XH IICCL0 XXH SVA0 XXH IICF0 0XH Set STCEN0, IICRSV0 = 0 IICC0 XXH ACKE0 = WTIM0 = SPIE0 = 1 IICE0 = 1
Local address setting
Start condition setting
Initial settings
Confirm bus statusNote
Bus release status for a certain period
Confirmation of bus status is in progress No INTIIC0 interrupt occurred? Yes No
STCEN0 = 1? Yes
No SPT0 = 1 Communication start preparation (stop condition generation)
SPD0 = 1? Yes
INTIIC0 interrupt occurred? Yes
No Waiting for stop condition detection
Slave operation SPD0 = 1? Yes
No
Slave operation
1
* Waiting for slave specification from another master * Waiting for communication start request (depending on user program)
Communication processing
Master operation started?
No (no communication start request) SPIE0 = 0
Yes (communication start request issued) SPIE0 = 1
INTIIC0 interrupt occurred? Yes
No Waiting for communication request
IICRSV0 = 0? Yes A
No
Slave operation
B
Communication Communication reservation enable reservation disable
Note Confirm that the bus release status (IICCL0.CLD0 bit = 1, IICCL0.DAD0 bit = 1) has been maintained for a certain period (1 frame, for example). When the SDA0 pin is constantly low level, determine whether to release the I2C0 bus (SCL0, SDA0 pins = high level) by referring to the specifications of the product in communication.
616
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
Figure 19-16. Master Operation in Multimaster System (2/3)
A
Communication reservation enabled
STT0 = 1
Communication start preparation (start condition generation) Securing wait time by software (refer to Table 19-6)
Communication processing
Wait
MSTS0 = 1? Yes
No
INTIIC0 interrupt occurred? Yes No Wait status after stop condition detection and start condition generation by communication reservation function
No Waiting for bus release (communication reserved)
EXC0 = 1 or COI0 =1? Yes Slave operation
C
B
Communication reservation disabled
IICBSY0 = 0? Yes
No
D
Communication processing
STT0 = 1
Communication start preparation (start condition generation) Securing wait time by software (refer to Table 19-7)
Wait
STCF0 = 0? Yes
No
INTIIC0 interrupt occurred? Yes
No Waiting for bus release
C EXC0 = 1 or COI0 =1? No D Yes
Stop condition detection Slave operation
Preliminary User's Manual U17703EJ1V0UD
617
CHAPTER 19 I C BUS
2
Figure 19-16. Master Operation in Multimaster System (3/3)
C Communication start (address, transfer direction specification)
Write IIC0
INTIIC0 interrupt occurred? Yes MSTS0 = 1? Yes No ACKD0 = 1? Yes TRC0 = 1?
Communication processing
No Waiting for ACK detection
No
2
No ACKE0 = 1 WTIM0 = 0
Yes WTIM0 = 1
WREL0 = 1 Write IIC0 Transmission start INTIIC0 interrupt occurred? INTIIC0 interrupt occurred? Yes MSTS0 = 1? Yes ACKD0 = 1? Yes Yes No Transfer completed? Yes INTIIC0 interrupt occurred? Restarted? Yes STT0 = 1 No Yes SPT0 = 1 MSTS0 = 1? END Yes C WTIM0 = WREL0 = 1 ACKE0 = 0 No Transfer completed? No Yes 2 Read IIC0 No Waiting for data transmission Yes MSTS0 = 1?
Reception start
No Waiting for data transmission No
2
No
No Waiting for ACK detection
No 2
Communication processing
2
EXC0 = 1 or COI0 = 1? No 1 Not in communication
Yes
Slave operation
Remarks 1. Conform the transmission and reception formats to the specifications of the product in communication. 2. When using the V850ES/KG2 as the master in the multimaster system, read the IICS0.MSTS0 bit for each INTIIC0 interrupt occurrence to confirm the arbitration result. 3. When using the V850ES/KG2 as the slave in the multimaster system, confirm the status using the IICS0 and IICF0 registers for each INTIIC0 interrupt occurrence to determine the next processing.
618
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
19.15.3 Slave operation The following shows the processing procedure of the slave operation. Basically, the operation of the slave device is event-driven. communication) is necessary. The following description assumes that data communication does not support extension codes. Also, it is assumed that the INTIIC0 interrupt servicing performs only status change processing and that the actual data communication is performed during the main processing. Figure 19-17. Software Outline During Slave Operation Therefore, processing by an INTIIC0 interrupt (processing requiring a significant change of the operation status, such as stop condition detection during
INTIIC0 Interrupt servicing Setting, etc. I2C Data Setting, etc.
Flag
Main processing
Therefore, the following three flags are prepared so that the data transfer processing can be performed by transmitting these flags to the main processing instead of the INTIIC0 signal. (1) Communication mode flag This flag indicates the following communication statuses. Clear mode: Data communication not in progress ACK from master not detected, address mismatch) (2) Ready flag This flag indicates that data communication is enabled. This is the same status as an INTIIC0 interrupt during normal data transfer. This flag is set in the interrupt processing block and cleared in the main processing block. The ready flag for the first data for transmission is not set in the interrupt processing block, so the first data is transmitted without clearance processing (the address match is regarded as a request for the next data). (3) Communication direction flag This flag indicates the direction of communication and is the same as the value of the IICS0.TRC0 bit. The following shows the operation of the main processing block during slave operation. Start I2C0 and wait for the communication enabled status. When communication is enabled, perform transfer using the communication mode flag and ready flag (the processing of the stop condition and start condition is performed by interrupts, conditions are confirmed by flags). For transmission, repeat the transmission operation until the master device stops returning ACK. When the master device stops returning ACK, transfer is complete. Communication mode: Data communication in progress (valid address detection stop condition detection,
Preliminary User's Manual U17703EJ1V0UD
619
CHAPTER 19 I C BUS
2
For reception, receive the required number of data and do not return ACK for the next data immediately after transfer is complete. After that, the master device generates the stop condition or restart condition. This causes exit from communications. Figure 19-18. Slave Operation Flowchart (1)
START
Set ports
Refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions to set the I2C mode before this function is used.
IICX0 0XH
Initial settings
IICCL0 XXH
Transfer clock selection
SVA0 XXH
Local address setting
IICF0 0XH Set IICRSV0 IICC0 XXH ACKE0 = WTIM0 = 1 SPIE0 = 0, IICE0 = 1
Start condition setting
No
Communication mode flag = 1? Yes No Communication direction flag = 1? Yes WREL0 = 1 Write IIC0 Transmission start Communication mode flag = 1? Communication mode flag = 1? Yes Yes Communication direction flag = 1? Yes No No Ready flag = 1? Yes Yes Read IIC0 Clear ready flag Clear ready flag Ready flag = 1? No No Reception start
Communication processing
No
No
Communication direction flag = 1? Yes
Yes ACKD0 = 1? No Clear communication mode flag WREL0 = 1
620
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
The following shows an example of the processing of the slave device by an INTIIC0 interrupt (it is assumed that no extension codes are used here). During an INTIIC0 interrupt, the status is confirmed and the following steps are executed. <1> When a stop condition is detected, communication is terminated. <2> When a start condition is detected, the address is confirmed. If the address does not match, communication is terminated. If the address matches, the communication mode is set and wait is released, and operation returns from the interrupt (the ready flag is cleared). <3> For data transmission/reception, when the ready flag is set, operation returns from the interrupt while the I2C0 bus remains in the wait status. Remark <1> to <3> in the above correspond to <1> to <3> in Figure 19-19 Slave Operation Flowchart (2). Figure 19-19. Slave Operation Flowchart (2)
INTIIC0 occurred
Yes SPD0 = 1? No
<1>
Yes STD0 = 1? No <3> Set ready flag
<2>
No COI0 = 1? Yes
Communication direction flag TRC0 Set communication mode flag Clear ready flag
Clear communication direction flag, ready flag, and communication mode flag
Interrupt servicing completed
Preliminary User's Manual U17703EJ1V0UD
621
CHAPTER 19 I C BUS
2
19.16 Timing of Data Communication
When using I2C bus mode, the master device generates an address via the serial bus to select one of several slave devices as its communication partner. After outputting the slave address, the master device transmits the IICS0.TRC0 bit that specifies the data transfer direction and then starts serial communication with the slave device. The IIC0 register's shift operation is synchronized with the falling edge of the serial clock (SCL0 pin). The transmit data is transferred to the SO latch and is output (MSB first) via the SDA0 pin. Data input via the SDA0 pin is captured by the IIC0 register at the rising edge of the SCL0 pin. The data communication timing is shown below.
622
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
Figure 19-20. Example of Master to Slave Communication (When 9-Clock Wait Is Selected for Both Master and Slave) (1/3)
(a) Start condition ~ address
Processing by master device IIC0 ACKD0 STD0 SPD0 WTIM0 ACKE0 MSTS0 STT0 SPT0 WREL0 INTIIC0 TRC0 H Transmit L L H H IIC0 address IIC0 data
Transfer lines SCL0 SDA0 1 2 3 4 5 6 7 8 W 9 ACK 1 D7 2 D6 3 D5 4 D4
AD6 AD5 AD4 AD3 AD2 AD1 AD0 Start condition
Processing by slave device IIC0 ACKD0 STD0 SPD0 WTIM0 ACKE0 MSTS0 STT0 SPT0 WREL0 INTIIC0 (when EXC0 = 1) TRC0 L Receive H H L L L Note IIC0 FFH Note
Note To cancel slave wait, write FFH to IIC0 or set WREL0.
Preliminary User's Manual U17703EJ1V0UD
623
CHAPTER 19 I C BUS
2
Figure 19-20. Example of Master to Slave Communication (When 9-Clock Wait Is Selected for Both Master and Slave) (2/3)
(b) Data
Processing by master device IIC0 ACKD0 STD0 SPD0 WTIM0 ACKE0 MSTS0 STT0 SPT0 WREL0 INTIIC0 TRC0 H Transmit L L H H H L L L IIC0 data IIC0 data
Transfer lines SCL0 SDA0 8 D0 9 ACK 1 D7 2 D6 3 D5 4 D4 5 D3 6 D2 7 D1 8 D0 9 ACK 1 D7 2 D6 3 D5
Processing by slave device IIC0 ACKD0 STD0 SPD0 WTIM0 ACKE0 MSTS0 STT0 SPT0 WREL0 INTIIC0 TRC0 L Receive L L H H L L L Note Note IIC0 FFH Note IIC0 FFH Note
Note To cancel slave wait, write FFH to IIC0 or set WREL0.
624
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
Figure 19-20. Example of Master to Slave Communication (When 9-Clock Wait Is Selected for Both Master and Slave) (3/3)
(c) Stop condition
Processing by master device
IIC0
ACKD0
STD0 SPD0
WTIM0
ACKE0 MSTS0 STT0
SPT0 WREL0 INTIIC0
IIC0 data
IIC0 address
H H
L
(when SPIE0 = 1)
TRC0
H Transmit
Transfer lines
SCL0 SDA0
1 D7
2 D6
3 D5
4 D4
5 D3
6 D2
7 D1
8 D0
9
ACK
1
2
AD6 AD5 Stop condition IIC0 FFH Note Start condition
Processing by slave device
IIC0 ACKD0 STD0 SPD0 WTIM0 ACKE0 MSTS0 STT0 SPT0 WREL0 INTIIC0
IIC0 FFH Note
H H L L L
Note Note
(when SPIE0 = 1)
TRC0
L Receive
Note To cancel slave wait, write FFH to IIC0 or set WREL0.
Preliminary User's Manual U17703EJ1V0UD
625
CHAPTER 19 I C BUS
2
Figure 19-21. Example of Slave to Master Communication (When 8-Clock Wait for Master and 9-Clock Wait for Slave Are Selected) (1/3)
(a) Start condition ~ address
Processing by master device
IIC0
ACKD0
STD0 SPD0
WTIM0
ACKE0 MSTS0 STT0
SPT0 WREL0 INTIIC0 TRC0
Transfer lines
IIC0 address
IIC0 FFH Note
L H
L
Note
SCL0 SDA0
1
2
3
4
5
6
7
8 R
9
ACK
1 D7
2 D6
3 D5
4 D4
5 D3
6 D2
AD6 AD5 AD4 AD3 AD2 AD1 AD0
Start condition
Processing by slave device
IIC0 ACKD0 STD0 SPD0 WTIM0 ACKE0 MSTS0 STT0 SPT0 WREL0 INTIIC0 TRC0
IIC0 data
H H
L
L
L L
Note To cancel master wait, write FFH to IIC0 or set WREL0.
626
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 19 I C BUS
2
Figure 19-21. Example of Slave to Master Communication (When 8-Clock Wait for Master and 9-Clock Wait for Slave Are Selected) (2/3)
(b) Data
Processing by master device
IIC0 ACKD0 STD0 SPD0
WTIM0
ACKE0 MSTS0 STT0
SPT0 WREL0 INTIIC0 TRC0
IIC0 FFH Note
IIC0 FFH Note
L L L H H L L
Note Note
L Receive
Transfer lines
SCL0 SDA0
8 D0
9 ACK
1
D7
2 D6
3 D5
4 D4
5 D3
6 D2
7 D1
8 D0
9 ACK
1 D7
2 D6
3 D5
Processing by slave device
IIC0 ACKD0 STD0 SPD0 WTIM0 ACKE0 MSTS0 STT0 SPT0 WREL0 INTIIC0 TRC0
IIC0 data
IIC0 data
L L H H L L L L
H Transmit
Note To cancel master wait, write FFH to IIC0 or set WREL0.
Preliminary User's Manual U17703EJ1V0UD
627
CHAPTER 19 I C BUS
2
Figure 19-21. Example of Slave to Master Communication (When 8-Clock Wait for Master and 9-Clock Wait for Slave Are Selected) (3/3)
(c) Stop condition
Processing by master device IIC0 ACKD0 STD0 SPD0 WTIM0 ACKE0 MSTS0 STT0 SPT0 WREL0 INTIIC0 (when SPIE0 = 1) TRC0 Transfer lines SCL0 SDA0 1 D7 2 D6 3 D5 4 D4 5 D3 6 D2 7 D1 8 D0 9 NACK Stop condition 1 AD6 Start condition Note IIC0 FFH Note IIC0 address
Processing by slave device IIC0 ACKD0 STD0 SPD0 WTIM0 ACKE0 MSTS0 STT0 SPT0 WREL0 INTIIC0 H H L L L IIC0 data
(when SPIE0 = 1) TRC0
Note To cancel master wait, write FFH to IIC0 or set WREL0.
628
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
The V850ES/KG2 includes a direct memory access (DMA) controller (DMAC) that executes and controls DMA transfer. The DMAC controls data transfer between memory and I/O, between memories, or between I/Os based on DMA requests issued by the on-chip peripheral I/O (serial interface, timer/counter, and A/D converter), interrupts from external input pins, or software triggers (memory refers to internal RAM or external memory).
20.1 Features
* 4 independent DMA channels * Transfer unit: 8/16 bits * Maximum transfer count: 65,536 (216) * Transfer type: Two-cycle transfer * Transfer mode: Single transfer mode * Transfer requests * Request by interrupts from on-chip peripheral I/O (serial interface, timer/counter, A/D converter) or interrupts from external input pin * Requests by software trigger * Transfer targets * Internal RAM Peripheral I/O * Peripheral I/O Peripheral I/O * Internal RAM External memory * External memory Peripheral I/O * External memory External memory
Preliminary User's Manual U17703EJ1V0UD
629
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
20.2 Configuration
Internal RAM
On-chip peripheral I/O Internal bus On-chip peripheral I/O bus
CPU
Data control
Address control
DMA source address register n (DSAnH/DSAnL) DMA destination address register n (DDAnH/DDAnL)
Count control
DMA transfer count register n (DBCn) DMA channel control register n (DCHCn) DMA addressing control register n (DADCn)
Channel control
DMA trigger factor register n (DTFRn)
DMAC Bus interface
External bus
V850ES/KG2
External I/O
External RAM
External ROM
Remark
n = 0 to 3
630
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
20.3 Registers
(1) DMA source address registers 0 to 3 (DSA0 to DSA3) The DSA0 to DSA3 registers set the DMA source addresses (26 bits each) for DMA channel n (n = 0 to 3). These registers are divided into two 16-bit registers, DSAnH and DSAnL. These registers can be read or written in 16-bit units.
After reset: Undefined
R/W
Address: DSA0H FFFFF082H, DSA1H FFFFF08AH, DSA2H FFFFF092H, DSA3H FFFFF09AH, DSA0L FFFFF080H, DSA1L FFFFF088H, DSA2L FFFFF090H, DSA3L FFFFF098H
DSAnH (n = 0 to 3) DSAnL (n = 0 to 3)
IRn
0
0
0
0
0
SAn25 SAn24 SAn23 SAn22 SAn21 SAn20 SAn19 SAn18 SAn17 SAn16
SAn15 SAn14 SAn13 SAn12 SAn11 SAn10 SAn9 SAn8 SAn7 SAn6 SAn5 SAn4 SAn3 SAn2 SAn1 SAn0
IRn 0 1
Specification of DMA transfer source External memory or on-chip peripheral I/O Internal RAM
SAn25 to Set the address (A25 to A16) of the DMA transfer source SAn16 (default value is undefined). During DMA transfer, the next DMA transfer source address is held. When DMA transfer is completed, the DMA address set first is held.
SAn15 to Set the address (A15 to A0) of the DMA transfer source SAn0 (default value is undefined). During DMA transfer, the next DMA transfer source address is held. When DMA transfer is completed, the DMA address set first is held.
Cautions 1. Be sure to clear bits 14 to 10 of the DSAnH register to 0. 2. Set the DSAnH and DSAnL registers at the following timing while DMA is not in progress. * Period from after reset to start of first DMA transfer * Period from after channel initialization by DCHCn.INITn bit to start of DMA transfer * Period from after completion of DMA transfer (DCHCn.TCn bit = 1) to start of the next DMA transfer 3. When the value of the DSAn register is read, two 16-bit registers, DSAnH and DSAnL, are read. If reading and updating conflict, the value being updated may be read (refer to 20.13 Cautions).
Preliminary User's Manual U17703EJ1V0UD
631
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
(2) DMA destination address registers 0 to 3 (DDA0 to DDA3) The DDA0 to DDA3 registers set the DMA destination address (26 bits each) for DMA channel n (n = 0 to 3). These registers are divided into two 16-bit registers, DDAnH and DDAnL. These registers can be read or written in 16-bit units.
After reset: Undefined
R/W
Address: DDA0H FFFFF086H, DDA1H FFFFF08EH, DA2H FFFFF096H, DDA3H FFFFF09EH, DDA0L FFFFF084H, DDA1L FFFFF08CH, DDA2L FFFFF094H, DDA3L FFFFF09CH
DDAnH (n = 0 to 3) DDAnL (n = 0 to 3)
IRn
0
0
0
0
0 DAn25 DAn24 DAn23 DAn22 DAn21 DAn20 DAn19 DAn18 DAn17 DAn16
DAn15 DAn14 DAn13 DAn12 DAn11 DAn10 DAn9 DAn8 DAn7 DAn6 DAn5 DAn4 DAn3 DAn2 DAn1 DAn0
IRn 0 1
Specification of DMA transfer destination External memory or on-chip peripheral I/O Internal RAM
DAn25 to Set an address (A25 to A16) of DMA transfer destination DAn16 (default value is undefined). During DMA transfer, the next DMA transfer destination address is held. When DMA transfer is completed, the DMA transfer source address set first is held.
DAn15 to Set an address (A15 to A0) of DMA transfer destination DAn0 (default value is undefined). During DMA transfer, the next DMA transfer destination address is held. When DMA transfer is completed, the DMA transfer source address set first is held.
Cautions 1. Be sure to clear bits 14 to 10 of the DDAnH register to 0. 2. Set the DDAnH and DDAnL registers at the following timing while DMA is not in progress. * Period from after reset to start of first DMA transfer * Period from after channel initialization by DCHCn.INITn bit to start of DMA transfer * Period from after completion of DMA transfer (DCHCn.TCn bit = 1) to start of the next DMA transfer 3. When the value of the DDAn register is read, two 16-bit registers, DDAnH and DDAnL, are read. If reading and updating conflict, a value being updated may be read (refer to 20.13 Cautions).
632
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
(3) DMA byte count registers 0 to 3 (DBC0 to DBC3) The DBC0 to DBC3 registers are 16-bit registers that set the byte transfer count for DMA channel n (n = 0 to 3). These registers hold the remaining transfer count during DMA transfer. These registers are decremented by 1 per one transfer regardless of the transfer data unit (8/16 bits), and the transfer is terminated if a borrow occurs. These registers can be read or written in 16-bit units.
After reset: Undefined
R/W
Address: DBC0 FFFFF0C0H, DBC1 FFFFF0C2H, DBC2 FFFFF0C4H, DBC3 FFFFF0C6H
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
DBCn BCn15 BCn14 BCn13 BCn12 BCn11 BCn10 BCn9 BCn8 BCn7 BCn6 BCn5 BCn4 BCn3 BCn2 BCn1 BCn0 (n = 0 to 3)
BCn15 to BCn0 0000H 0001H : FFFFH
Byte transfer count setting or remaining byte transfer count during DMA transfer Byte transfer count 1 or remaining byte transfer count Byte transfer count 2 or remaining byte transfer count : Byte transfer count 65,536 (216) or remaining byte transfer count
The number of transfer data set first is held when DMA transfer is complete.
Caution
Set the DBCn register at the following timing while DMA is not in progress. * Period from after reset to start of first DMA transfer * Period from after channel initialization by DCHCn.INITn bit to start of DMA transfer * Period from after completion of DMA transfer (DCHCn.TCn bit = 1) to start of the next DMA transfer
Preliminary User's Manual U17703EJ1V0UD
633
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
(4) DMA addressing control registers 0 to 3 (DADC0 to DADC3) The DADC0 to DADC3 registers are 16-bit registers that control the DMA transfer mode for DMA channel n (n = 0 to 3). These registers can be read or written in 16-bit units. Reset input clears these registers to 0000H.
After reset: 0000H
R/W
Address: DADC0 FFFFF0D0H, DADC1 FFFFF0D2H, DADC2 FFFFF0D4H, DADC3 FFFFF0D6H
15
14
13
12
11
10
9
8
DADCn (n = 0 to 3)
0
7
DSn0
6
0
5
0
4
0
3
0
2
0
1
0
0
SADn1
SADn0
DADn1
DADn0
0
0
0
0
DSn0 0 1 SADn1 0 0 1 1 DADn1 0 0 1 1 8 bits 16 bits SADn0 0 1 0 1 DADn0 0 1 0 1
Setting of transfer data size
Setting of count direction of the transfer source address Increment Decrement Fixed Setting prohibited Setting of count direction of the destination address Increment Decrement Fixed Setting prohibited
Cautions 1. Be sure to clear bits 15, 13 to 8, and 3 to 0 of the DADCn register to "0". 2. Set the DADCn register at the following timing while DMA is not in progress. * Period from after reset to start of first DMA transfer * Period from after channel initialization by DCHCn.INITn bit to start of DMA transfer * Period from after completion of DMA transfer (DCHCn.TCn bit = 1) to start of the next DMA transfer 3. The DSn0 bit specifies the size of the transfer data, and does not control bus sizing. If 8bit data (DSn0 bit = 0) is set, therefore, the lower data bus is not always used. 4. If the transfer data size is set to 16 bits (DSn0 bit = 1), transfer cannot be started from an odd address. Transfer is always started from an address with the first bit of the lower address aligned to 0. 5. If DMA transfer is executed on an on-chip peripheral I/O register (as the transfer source or destination), be sure to specify the same transfer size as the register size. For example, to execute DMA transfer on an 8-bit register, be sure to specify 8-bit transfer.
634
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
(5) DMA channel control registers 0 to 3 (DCHC0 to DCHC3) The DCHC0 to DCHC3 registers are 8-bit registers that control the DMA transfer operating mode for DMA channel n. These registers can be read or written in 8-bit or 1-bit units (however, bit 7 is read-only and bits 1 and 2 are write-only. If bit 1 or 2 is read, the read value is always 0). Reset input clears these registers to 00H.
After reset: 00H R/W Address: DCHC0 FFFFF0E0H, DCHC1 FFFFF0E2H, DCHC2 FFFFF0E4H, DCHC3 FFFFF0E6H
<7> 6 5 4 3 <2> <1> <0>
DCHCn (n = 0 to 3)
TCn
Note 1
0
0
0
0
INITn
Note 2
STGn
Note 2
Enn
TCnNote 1 0 1
Status flag indicates whether DMA transfer through DMA channel n has completed or not DMA transfer had not completed. DMA transfer had completed.
It is set to 1 on the last DMA transfer and cleared to 0 when it is read.
INITnNote 2 If the INITn bit is set to 1 with DMA transfer disabled (Enn bit = 0), the DMA transfer status can be initialized. When re-setting the DMA transfer status (re-setting the DDAnH, DDAnL, DSAnH, DSAnL, DBCn, and DADCn registers) before DMA transfer is completed (before the TCn bit is set to 1), be sure to initialize the DMA channel. When initializing the DMA controller, however, be sure to observe the procedure described in 20.13 Cautions.
STGnNote 2 This is a software startup trigger of DMA transfer. If this bit is set to 1 in the DMA transfer enable state (TCn bit = 0, Enn bit = 1), DMA transfer is started.
Enn 0 1
Setting of whether DMA transfer through DMA channel n is to be enabled or disabled DMA transfer disabled DMA transfer enabled
DMA transfer is enabled when the Enn bit is set to 1. When DMA transfer is completed (when a terminal count is generated), this bit is automatically cleared to 0. To abort DMA transfer, clear the Enn bit to 0 by software. To resume, set the Enn bit to 1 again. When aborting or resuming DMA transfer, however, be sure to observe the procedure described in 20.13 Cautions.
Notes 1. The TCn bit is read-only. 2. The INITn and STGn bits are write-only. Cautions 1. Be sure to clear bits 6 to 3 of the DCHCn register to 0. 2. When DMA transfer is completed (when a terminal count is generated), the Enn bit is cleared to 0 and then the TCn bit is set to 1. If the DCHCn register is read while its bits are being updated, a value indicating "transfer not completed and transfer is disabled" (TCn bit = 0 and Enn bit = 0) may be read.
Preliminary User's Manual U17703EJ1V0UD
635
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
(6) DMA trigger factor registers 0 to 3 (DTFR0 to DTFR3) The DTFR0 to DTFR3 registers are 8-bit registers that control the DMA transfer start trigger via interrupt request signals from on-chip peripheral I/O. The interrupt request signals set by these registers serve as DMA transfer start factors. These registers can be read or written in 8-bit units. However, only the DFn bit can be read or written in 1-bit units. Reset input clears these registers to 00H.
After reset: 00H
R/W
Address: DTFR0 FFFFF810H, DTFR1 FFFFF812H, DTFR2 FFFFF814H, DTFR3 FFFFF816H
<7>
6
5
4
3
2
1
0
DTFRn (n = 0 to 3)
DFn
0
IFCn5
IFCn4
IFCn3
IFCn2
IFCn1
IFCn0
DFnNote 0 1
DMA transfer request flag No DMA transfer request DMA transfer request
Note The DFn bit can write 0 only. Write 0 to this bit to clear a DMA transfer request if an interrupt that is specified as the cause of starting DMA transfer occurs while DMA transfer is disabled. Cautions 1. Set the IFCn5 to IFCn0 bits at the following timing while DMA is not in progress. * Period from after reset to start of first DMA transfer * Period from after channel initialization by DCHCn.INITn bit to start of DMA transfer * Period from after completion of DMA transfer (DCHCn.TCn bit = 1) to start of the next DMA transfer 2. An interrupt request that is generated in the standby mode (IDLE, STOP, or sub-IDLE mode) does not start the DMA transfer cycle (nor is the DFn bit set to 1). 3. If a DMA start factor is selected by the IFCn5 to IFCn0 bits, the DFn bit is set to 1 when an interrupt occurs from the selected on-chip peripheral I/O, regardless of whether the DMA operation is enabled or disabled. immediately started. Remark For the IFCn5 to IFCn0 bits, refer to Table 20-1 DMA Start Factors. If DMA is enabled in this status, DMA transfer is
636
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
Table 20-1. DMA Start Factors
IFCn5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 IFCn4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 IFCn3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 IFCn2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 IFCn1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 IFCn0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 Interrupt Source DMA request by interrupt disabled INTWDTM1 INTP0 INTP1 INTP2 INTP3 INTP4 INTP5 INTP6 INTTM000 INTTM001 INTTM010 INTTM011 INTTM50 INTTM51 INTCSI00 INTCSI01 INTSRE0 INTSR0 INTST0 INTSRE1 INTSR1 INTST1 INTTMH0 INTTMH1 INTCSIA0 INTIIC0 INTAD INTKR INTWTI INTWT INTBRG INTTM020 INTTM021 INTTM030 INTTM031 INTCSIA1 INTSRE2 INTSR2 INTST2 INTP7 INTTP0OV INTTP0CC0 INTTP0CC1 Setting prohibited
Note
Other than above
Remark
n = 0 to 3
Preliminary User's Manual U17703EJ1V0UD
637
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
20.4 Transfer Targets
Table 20-2 shows the relationship between the transfer targets (: Transfer enabled, x: Transfer disabled). Table 20-2. Relationship Between Transfer Targets
Transfer Destination Internal ROM x x x x On-Chip Peripheral I/O
On-chip peripheral I/O
Internal RAM x x
External Memory x
x
Source
Internal RAM External memory Internal ROM
Caution
The operation is not guaranteed for combinations of transfer destination and source marked with "x" in Table 20-2.
20.5 Transfer Modes
Single transfer is supported as the transfer mode. In single transfer mode, the bus is released at each byte/halfword transfer. If there is a subsequent DMA transfer request, transfer is performed again once. This operation continues until a terminal count occurs. When the DMAC has released the bus, if another higher priority DMA transfer request is issued, the higher priority DMA request always takes precedence. If a new transfer request of the same channel and a transfer request of another channel with a lower priority are generated in a transfer cycle, DMA transfer of the channel with the lower priority is executed after the bus is released to the CPU (the new transfer request of the same channel is ignored in the transfer cycle).
638
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
20.6 Transfer Types
As a transfer type, the 2-cycle transfer is supported. In two-cycle transfer, data transfer is performed in two cycles, a read cycle and a write cycle. In the read cycle, the transfer source address is output and reading is performed from the source to the DMAC. In the write cycle, the transfer destination address is output and writing is performed from the DMAC to the destination. An idle cycle of one clock is always inserted between a read cycle and a write cycle. If the data bus width differs between the transfer source and destination for DMA transfer of two cycles, the operation is performed as follows. <16-bit data transfer> <1> Transfer from 32-bit bus 16-bit bus A read cycle (the higher 16 bits are in a high-impedance state) is generated, followed by generation of a write cycle (16 bits). <2> Transfer from 16-/32-bit bus to 8-bit bus A 16-bit read cycle is generated once, and then an 8-bit write cycle is generated twice. <3> Transfer from 8-bit bus to 16-/32-bit bus An 8-bit read cycle is generated twice, and then a 16-bit write cycle is generated once. <4> Transfer between 16-bit bus and 32-bit bus A 16-bit read cycle is generated once, and then a 16-bit write cycle is generated once. For DMA transfer executed to an on-chip peripheral I/O register (transfer source/destination), be sure to specify the same transfer size as the register size. For example, for DMA transfer to an 8-bit register, be sure to specify byte (8bit) transfer. Remark The bus width of each transfer target (transfer source/destination) is as follows. * On-chip peripheral I/O: 16-bit bus width * Internal RAM: * External memory: 32-bit bus width 8-bit or 16-bit bus width
20.7 DMA Channel Priorities
The DMA channel priorities are fixed as follows. DMA channel 0 > DMA channel 1 > DMA channel 2 > DMA channel 3 The priorities are checked for every transfer cycle.
Preliminary User's Manual U17703EJ1V0UD
639
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
20.8 Time Related to DMA Transfer
The time required to respond to a DMA request, and the minimum number of clocks required for DMA transfer are shown below. Single transfer: DMA response time (<1>) + Transfer source memory access (<2>) + 1Note destination memory access (<2>)
DMA Cycle <1> DMA request response time <2> Memory access External memory access Internal RAM access Peripheral I/O register access Minimum Number of Execution Clocks 4 clocks (MIN.) + Noise elimination time Depends on connected memory. 2 clocks
Note 3 Note 2
1
+ Transfer
3 clocks + Number of wait cycles specified by VSWC register
Note 4
Notes 1. One clock is always inserted between a read cycle and a write cycle in DMA transfer. 2. If an external interrupt (INTPn) is specified as the trigger to start DMA transfer, noise elimination time is added (n = 0 to 7). 3. Two clocks are required for a DMA cycle. 4. More wait cycles may be necessary for accessing a special register described in 3.4.8 (1) (b).
640
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
20.9 DMA Transfer Start Factors
There are two types of DMA transfer start factors, as shown below. (1) Request by software If the DCHCn.STGn bit is set to 1 while the DCHCn.TCn bit = 0 and DCHCn.Enn bit = 1 (DMA transfer enabled), DMA transfer is started. To request the next DMA transfer cycle immediately after that, confirm, by using the DBCn register, that the preceding DMA transfer cycle has been completed, and set the STGn bit to 1 again (n = 0 to 3). TCn bit = 0, Enn bit = 1 STGn bit = 1 ... Starts the first DMA transfer. Confirm that the contents of the DBCn register have been updated. STGn bit = 1 ... Starts the second DMA transfer. : Generation of terminal count ... Enn bit = 0, TCn bit = 1, and INTDMAn signal is generated. (2) Request by on-chip peripheral I/O If an interrupt request is generated from the on-chip peripheral I/O set by the DTFRn register when the TCn bit = 0 and Enn bit = 1 (DMA transfer enabled), DMA transfer is started. Cautions 1. Two start factors (software trigger and hardware trigger) cannot be used for one DMA channel. If two start factors are simultaneously generated for one DMA channel, only one of them is valid. The start factor that is valid cannot be identified. 2. A new transfer request that is generated after the preceding DMA transfer request was generated or in the preceding DMA transfer cycle is ignored (cleared). 3. The transfer request interval of the same DMA channel varies depending on the setting of bus wait in the DMA transfer cycle, the start status of the other channels, or the external bus hold request. In particular, as described in Caution 2, a new transfer request that is generated for the same channel before the DMA transfer cycle or during the DMA transfer cycle is ignored. Therefore, the transfer request intervals for the same DMA channel must be sufficiently secured by the system. When the software trigger is used, completion of the DMA transfer cycle that was generated before can be checked by updating the DBCn register.
Preliminary User's Manual U17703EJ1V0UD
641
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
20.10 DMA Abort Factors
DMA transfer is aborted if a bus hold occurs. The same applies if transfer is executed between the internal memory/on-chip peripheral I/O and internal memory/on-chip peripheral I/O. When the bus hold is cleared, DMA transfer is resumed.
20.11 End of DMA Transfer
When DMA transfer has been completed the number of times set to the DBCn register and when the DCHCn.Enn bit is cleared to 0 and TCn bit is set to 1, a DMA transfer end interrupt request signal (INTDMAn) is generated for the interrupt controller (INTC) (n = 0 to 3). The V850ES/KG2 does not output a terminal count signal to an external device. Therefore, confirm completion of DMA transfer by using the DMA transfer end interrupt or polling the TCn bit.
20.12 Operation Timing
The operation timing of DMA is as follows.
642
Preliminary User's Manual U17703EJ1V0UD
Figure 20-1. Priority of DMA (1)
System clock
DMA0 transfer request
DMA1 transfer request
DMA2 transfer request DF0 bit
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
Preliminary User's Manual U17703EJ1V0UD
DF1 bit
DF2 bit Preparation for transfer CPU processing End processing Preparation for transfer End processing Preparation for transfer
DMA transfer
Read Idle
Write
Read Idle
Write
Read DMA2 processing
Mode of processing
DMA0 processing
CPU processing
DMA1 processing
CPU processing
Remarks 1. Transfer in the order of DMA0 DMA1 DMA2 2. In the case of transfer between external memory spaces (multiplex bus, no wait)
643
644
System clock DMA0 transfer request DMA1 transfer request DMA2 transfer request DF0 bit
Figure 20-2. Priority of DMA (2)
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
Preliminary User's Manual U17703EJ1V0UD
DF1 bit
DF2 bit Preparation for transfer CPU processing End processing Preparation for transfer End processing Preparation for transfer
DMA transfer
Read Idle
Write
Read Idle
Write
Read DMA0 processing
Mode of processing
DMA0 processing
CPU processing
DMA1 processing
CPU processing
Remarks 1. Transfer in the order of DMA0 DMA1 DMA0 (DMA2 is held pending.) 2. In the case of transfer between external memory spaces (multiplex bus, no wait)
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
Figure 20-3. Period in Which DMA Transfer Request Is Ignored (1)
System clock
DMAn transfer requestNote 1
DFn bit
Note 2
Note 2
Note 2
Mode of processing
CPU processing
DMA0 processing
CPU processing
DMA transfer
Preparation for transfer
Read cycle
Write cycle Idle
End processing Transfer request generated after this can be acknowledged
Notes 1. Interrupt from on-chip peripheral I/O, or software trigger (DCHCn.STGn bit) 2. New DMA request of the same channel is ignored between when the transfer request is generated and the end processing is complete. Remark In the case of transfer between external memory spaces (multiplex bus, no wait)
Preliminary User's Manual U17703EJ1V0UD
645
646
System clock DMA0 transfer request DMA1 transfer request DMA2 transfer request DF0 bit
Figure 20-4. Period in Which DMA Transfer Request Is Ignored (2)
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
Preliminary User's Manual U17703EJ1V0UD
DF1 bit
DF2 bit
Preparation for transfer End processing Preparation for transfer End processing Preparation for transfer
DMA transfer
Read Idle
Write
Read
Write
Idle
Read
DMA0 processing
Mode of processing
CPU processing
DMA0 processing
CPU processing
DMA1 processing
CPU processing
<1>
<2>
<3>
<4>
<1> DMA0 transfer request <2> New DMA0 transfer request is generated during DMA0 transfer. A DMA transfer request of the same channel is ignored during DMA transfer. <3> Requests for DMA0 and DMA1 are generated at the same time. DMA0 request is ignored (a DMA transfer request of the same channel during transfer is ignored). DMA1 request is acknowledged. <4> Requests for DMA0, DMA1, and DMA2 are generated at the same time. DMA1 request is ignored (a DMA transfer request of the same channel during transfer is ignored). DMA0 request is acknowledged according to priority. DMA2 request is held pending (transfer of DMA2 occurs next).
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
20.13 Cautions
(1) Caution for VSWC register When using the DMAC, be sure to set an appropriate value, in accordance with the operating frequency, to the VSWC register. When the default value (77H) of the VSWC register is used, or if an inappropriate value is set to the VSWC register, the operation is not correctly performed (for details of the VSWC register, refer to 3.4.8 (1) (a) System wait control register (VSWC)). (2) Caution for DMA transfer executed on internal RAM When executing the following instructions located in the internal RAM, do not execute a DMA transfer that transfers data to/from the internal RAM (transfer source/destination), because the CPU may not operate correctly afterward. * Data access instruction to misaligned address located in internal RAM Conversely, when executing a DMA transfer to transfer data to/from the internal RAM (transfer source/destination), do not execute the above instruction. (3) Caution for reading DCHCn.TCn bit (n = 0 to 3) The TCn bit is cleared to 0 when it is read, but it is not automatically cleared to 0 even if it is read at a specific timing. To accurately clear the TCn bit, add the following processing. (a) When waiting for completion of DMA transfer by polling TCn bit Confirm that the TCn bit has been set to 1 (after TCn bit = 1 is read), and then read the TCn bit three more times. (b) When reading TCn bit in interrupt servicing routine Execute reading the TCn bit three times.
Preliminary User's Manual U17703EJ1V0UD
647
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
(4) DMA transfer initialization procedure (setting DCHCn.INITn bit to 1) Even if the INITn bit is set to 1 when the channel executing DMA transfer is to be initialized, the channel may not be initialized. To accurately initialize the channel, execute either of the following two procedures. (a) Temporarily stop transfer of all DMA channels Initialize the channel executing DMA transfer using the procedure in <1> to <7> below. Note, however, that TCn bit is cleared to 0 when step <5> is executed. processing programs do not expect that the TCn bit is 1. <1> Disable interrupts (DI). <2> Read the DCHCn.Enn bit of DMA channels other than the one to be forcibly terminated, and transfer the value to a general-purpose register. <3> Clear the Enn bit of the DMA channels used (including the channel to be forcibly terminated) to 0. To clear the Enn bit of the last DMA channel, execute the clear instruction twice. If the target of DMA transfer (transfer source/destination) is the internal RAM, execute the instruction three times. Example: Execute instructions in the following order if channels 0, 1, and 2 are used (if the target of transfer is not the internal RAM). * Clear DCHC0.E00 bit to 0. * Clear DCHC1.E11 bit to 0. * Clear DCHC2.E22 bit to 0. * Clear DCHC2.E22 bit to 0 again. <4> Set the INITn bit of the channel to be forcibly terminated to 1. <5> Read the TCn bit of each channel not to be forcibly terminated. If both the TCn bit and the Enn bit read in <2> are 1 (logical product (AND) is 1), clear the saved Enn bit to 0. <6> After the operation in <5>, write the Enn bit value to the DCHCn register. <7> Enable interrupts (EI). Caution Be sure to execute step <5> above to prevent illegal setting of the Enn bit of the channels whose DMA transfer has been normally completed between <2> and <3>. Make sure that the other
648
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
(b) Repeatedly execute setting INITn bit until transfer is forcibly terminated correctly <1> Suppress a request from the DMA request source of the channel to be forcibly terminated (stop operation of the on-chip peripheral I/O). <2> Check that the DMA transfer request of the channel to be forcibly terminated is not held pending, by using the DTFRn.DFn bit. If a DMA transfer request is held pending, wait until execution of the pending DMA transfer request is completed. <3> When it has been confirmed that the DMA request of the channel to be forcibly terminated is not held pending, clear the Enn bit to 0. <4> Again, clear the Enn bit of the channel to be forcibly terminated to 0. If the target of transfer for the channel to be forcibly terminated (transfer source/destination) is the internal RAM, execute this operation once more. <5> Copy the initial number of transfers of the channel to be forcibly terminated to a general-purpose register. <6> Set the INITn bit of the channel to be forcibly terminated to 1. <7> Read the value of the DBCn register of the channel to be forcibly terminated, and compare it with the value copied in <5>. If the two values do not match, repeat operations <6> and <7>. Remarks 1. When the value of the DBCn register is read in <7>, the initial number of transfers is read if forced termination has been correctly completed. If not, the remaining number of transfers is read. 2. Note that method (b) may take a long time if the application frequently uses DMA transfer for a channel other than the DMA channel to be forcibly terminated. (5) Procedure of temporarily stopping DMA transfer (clearing Enn bit) Stop and resume the DMA transfer under execution using the following procedure. <1> Suppress a transfer request from the DMA request source (stop the operation of the on-chip peripheral I/O). <2> Check the DMA transfer request is not held pending, by using the DFn bit (check if the DFn bit = 0). If a request is held pending, wait until execution of the pending DMA transfer request is completed. <3> If it has been confirmed that no DMA transfer request is held pending, clear the Enn bit to 0 (this operation stops DMA transfer). <4> Set the Enn bit to 1 to resume DMA transfer. <5> Resume the operation of the DMA request source that has been stopped (start the operation of the onchip peripheral I/O). (6) Memory boundary The operation is not guaranteed if the address of the transfer source or destination exceeds the area of the DMA target (external memory, internal RAM, or on-chip peripheral I/O) during DMA transfer. (7) Transferring misaligned data DMA transfer of misaligned data with a 16-bit bus width is not supported. If an odd address is specified as the transfer source or destination, the least significant bit of the address is forcibly assumed to be 0.
Preliminary User's Manual U17703EJ1V0UD
649
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
(8) Bus arbitration for CPU Because the DMA controller has a higher priority bus mastership than the CPU, a CPU access that takes place during DMA transfer is held pending until the DMA transfer cycle is completed and the bus is released to the CPU. However, the CPU can access the external memory, on-chip peripheral I/O, and internal RAM to/from which DMA transfer is not being executed. * The CPU can access the internal RAM when DMA transfer is being executed between the external memory and on-chip peripheral I/O. * The CPU can access the internal RAM and on-chip peripheral I/O when DMA transfer is being executed between the external memory and external memory. (9) Registers/bits that must not be rewritten during DMA operation Set the following registers at the following timing when a DMA operation is not under execution. [Registers] * DSAnH, DSAnL, DDAnH, DDAnL, DBCn, and DADCn registers * DTFRn.IFCn5 to DTFRn.IFCn0 bits [Timing of setting] * Period from after reset to start of the first DMA transfer * Time after channel initialization to start of DMA transfer * Period from after completion of DMA transfer (TCn bit = 1) to start of the next DMA transfer (10) Be sure to set the following register bits to 0. * Bits 14 to 10 of DSAnH register * Bits 14 to 10 of DDAnH register * Bits 15, 13 to 8, and 3 to 0 of DADCn register * Bits 6 to 3 of DCHCn register (11) DMA start factor Do not start two or more DMA channels with the same start factor. If two or more channels are started with the same factor, a DMA channel with a lower priority may be acknowledged earlier than a DMA channel with a higher priority.
650
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 20 DMA FUNCTION (DMA CONTROLLER)
(12) Read values of DSAn and DDAn registers Values in the middle of updating may be read from the DSAn and DDAn registers during DMA transfer (n = 0 to 3). For example, if the DSAnH register and then the DSAnL register are read when the DMA transfer source address (DSAn register) is 0000FFFFH and the count direction is incremental (DADCn.SAD1 and DADCn.SAD0 bits = 00), the value of the DSAnL register differs as follows, depending on whether DMA transfer is executed immediately after the DSAnH register is read. (a) If DMA transfer does not occur while DSAn register is read <1> Read value of DSAnH register: DSAnH register = 0000H <2> Read value of DSAnL register: DSAnL register = FFFFH (b) If DMA transfer occurs while DSAn register is read <1> Read value of DSAnH register: DSAnH register = 0000H <2> Occurrence of DMA transfer <3> Incrementing DSAn register: DSAn register = 00100000H <4> Read value of DSAnL register: DSAnL register = 0000H
Preliminary User's Manual U17703EJ1V0UD
651
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.1 Overview
The V850ES/KG2 is provided with a dedicated interrupt controller (INTC) for interrupt servicing and realize an interrupt function that can service interrupt requests from a total of 50 sources. An interrupt is an event that occurs independently of program execution, and an exception is an event whose occurrence is dependent on program execution. The V850ES/KG2 can process interrupt requests from the on-chip peripheral hardware and external sources. Moreover, exception processing can be started by the TRAP instruction (software exception) or by generation of an exception event (fetching of an illegal op code) (exception trap). 21.1.1 Features
Interrupt Source Interrupt function Non-maskable interrupt Maskable interrupt External Internal External Internal WDT1 TMP TM0 TMH TM5 WT BRG UART CSI0 CSIA IIC KR AD DMA Total Exception function Exception trap Software exception 1 channel (NMI pin) 2 channels (WDT1, WDT2) 8 channels (all edge detection interrupts) 1 channel 3 channels 8 channels 2 channels 2 channels 2 channels 1 channel 9 channels 2 channels 2 channels 1 channel 1 channel 1 channel 4 channels 39 channels 16 channels (TRAP00H to TRAP0FH) 16 channels (TRAP10H to TRAP1FH) 2 channels (ILGOP/DBG0) V850ES/KG2
Table 21-1 lists the interrupt/exception sources.
652
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Table 21-1. Interrupt Source List (1/2)
Type Classification Default Priority Name Trigger Interrupt Exception Source Code Handler Address Restored Interrupt PC Control Register Undefined -
Reset
Interrupt
-
RESET
RESET pin input Internal reset input from WDT1, WDT2
Pin WDT1 WDT2 Pin WDT1
0000H
00000000H
Nonmaskable
Interrupt
- -
NMI INTWDT1
NMI pin valid edge input WDT1 overflow (when nonmaskable interrupt selected)
0010H 0020H
00000010H 00000020H
nextPC Note 1
- -
-
INTWDT2
Note 2
WDT2 overflow (when nonmaskable interrupt selected)
WDT2
0030H
Note 2
00000030H
Note 1
-
Software exception
Exception
- - -
TRAP0n TRAP1n ILGOP/ DBG0
TRAP instruction TRAP instruction Illegal op code/DBTRAP instruction
- - -
004nH 005nH
00000040H 00000050H 00000060H
nextPC nextPC nextPC
- - -
Note 2
Note 2
Exception Exception trap Maskable Interrupt
0060H
0
INTWDTM1 WDT1 overflow (when interval WDT1 timer selected)
0080H
00000080H
nextPC
WDT1IC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
INTP0 INTP1 INTP2 INTP3 INTP4 INTP5 INTP6 INTTM000 INTTM001 INTTM010 INTTM011 INTTM50 INTTM51 INTCSI00 INTCSI01 INTSRE0
INTP0 pin valid edge input INTP1 pin valid edge input INTP2 pin valid edge input INTP3 pin valid edge input INTP4 pin valid edge input INTP5 pin valid edge input INTP6 pin valid edge input TM00 and CR000 match TM00 and CR001 match TM01 and CR010 match TM01 and CR011 match TM50 and CR50 match TM51 and CR51 match CSI00 transfer completion CSI01 transfer completion UART0 reception error occurrence
Pin Pin Pin Pin Pin Pin Pin TM00 TM00 TM01 TM01 TM50 TM51 CSI00 CSI01 UART0
0090H 00A0H 00B0H 00C0H 00D0H 00E0H 00F0H 0100H 0110H 0120H 0130H 0140H 0150H 0160H 0170H 0180H
00000090H
nextPC
PIC0 PIC1 PIC2 PIC3 PIC4 PIC5 PIC6 TM0IC00 TM0IC01 TM0IC10 TM0IC11 TM5IC0 TM5IC1 CSI0IC0 CSI0IC1 SREIC0
000000A0H nextPC 000000B0H nextPC 000000C0H nextPC 000000D0H nextPC 000000E0H nextPC 000000F0H nextPC 00000100H 00000110H 00000120H 00000130H 00000140H 00000150H 00000160H 00000170H 00000180H nextPC nextPC nextPC nextPC nextPC nextPC nextPC nextPC nextPC
17 18
INTSR0 INTST0
UART0 reception completion UART0 transmission completion
UART0 UART0
0190H 01A0H
00000190H 000001AH
nextPC nextPC
SRIC0 STIC0
Notes 1. For restoration in the case of INTWDT1 and INTWDT2, refer to 21.10 Cautions. 2. n = 0 to FH
Preliminary User's Manual U17703EJ1V0UD
653
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Table 21-1. Interrupt Source List (2/2)
Type Classification Default Priority Name Trigger Interrupt Exception Source Code Handler Address Restored Interrupt PC Control Register SREIC1
Maskable
Interrupt
19
INTSRE1
UART1 reception error occurrence
UART1
01B0H
000001B0H nextPC
20 21
INTSR1 INTST1
UART1 reception completion UART1 transmission completion
UART1 UART1
01C0H 01D0H
000001C0H nextPC 000001D0H nextPC
SRIC1 STIC1
22
INTTMH0
TMH0 and CMP00/CMP01 match
TMH0
01E0H
000001E0H nextPC
TMHIC0
23
INTTMH1
TMH1 and CMP10/CMP11 match
TMH1
01F0H
000001F0H nextPC
TMHIC1
24 25 26 27 28 29 30
INTCSIA0 INTIIC0 INTAD INTKR INTWTI INTWT INTBRG
CSIA0 transfer completion I C0 transfer completion A/D conversion completion Key return interrupt Watch timer interval Watch timer reference time 8-bit counter of prescaler 3 and PRSCM match
2
CSIA0 I C0 A/D KR WT WT
Prescaler 3
2
0200H 0210H 0220H 0230H 0240H 0250H 0260H
00000200H 00000210H 00000220H 00000230H 00000240H 00000250H 00000260H
nextPC nextPC nextPC nextPC nextPC nextPC nextPC
CSIAIC0 IICIC0 ADIC KRIC WTIIC WTIC BRGIC
31 32 33 34 35 41
INTTM020 INTTM021 INTTM030 INTTM031 INTCSIA1 INTSRE2
TM02 and CR020 match TM02 and CR021 match TM03 and CR030 match TM03 and CR031 match CSIA1 transfer completion UART2 reception error occurrence
TM02 TM02 TM03 TM03 CSIA1 UART2
0270H 0280H 0290H 02A0H 02B0H 0310H
00000270H 00000280H 00000290H
nextPC nextPC nextPC
TM0IC20 TM0IC21 TM0IC30 TM0IC31 CSIAIC1 SREIC2
000002A0H nextPC 000002B0H nextPC 00000310H nextPC
42 43
INTSR2 INTST2
UART2 reception completion UART2 transmission completion
UART2 UART2
0320H 0330H
00000320H 00000330H
nextPC nextPC
SRIC2 STIC2
44 45 46
INTP7
INTP7 pin valid edge input
Pin TMP TMP
0390H 03A0H 03B0H
00000390H
nextPC
PIC7 TPOVIC TPCCIC0
INTTP0OV TMP0 overflow INTTP0CC0 TMP0 capture 0/ compare 0 match
000003A0H nextPC 000003B0H nextPC
47
INTTP0CC1 TMP0 capture 1/ compare 1 match
TMP
03C0H
000003C0H nextPC
TPCCIC1
48 49 50 51
INTDMA0 INTDMA1 INTDMA2 INTDMA3
DMA0 transfer completion DMA1 transfer completion DMA2 transfer completion DMA3 transfer completion
DMAC DMAC DMAC DMAC
03D0H 03E0H 03F0H 0400H
000003D0H nextPC 000003E0H nextPC 000003F0H nextPC 00000400H nextPC
DMAIC0 DMAIC1 DMAIC2 DMAIC3
654
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Remarks 1. Default priority: The priority order when two or more maskable interrupt requests with the same priority level are generated at the same time. The highest priority is 0. The priority of non-maskable interrupt request is as follows. INTWDT2 > INTWDT1 > NMI Restored PC: The value of the program counter (PC) saved to EIPC, FEPC, or DBPC when interrupt/exception processing is started. The restored PC when a non-maskable or maskable interrupt is acknowledged while either of the following instructions is being executed does not become nextPC (when an interrupt is acknowledged during the execution of an instruction, the execution of that instruction is stopped and is resumed following completion of interrupt servicing). * Load instructions (SLD.B, SLD.BU, SLD.H, SLD.HU, SLD.W) * Divide instructions (DIV, DIVH, DIVU, DIVHU) * PREPARE, DISPOSE instructions (only when an interrupt occurs before stack pointer update) nextPC: The PC value at which processing is started following interrupt/exception processing. 2. The execution address of the illegal op code when an illegal op code exception occurs is calculated with (Restored PC - 4).
Preliminary User's Manual U17703EJ1V0UD
655
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.2 Non-Maskable Interrupts
Non-maskable interrupt request signals are acknowledged unconditionally, even when interrupts are disabled (DI state). Non-maskable interrupts (NMI) are not subject to priority control and take precedence over all other interrupt request signals. The following three types of non-maskable interrupt request signals are available in the V850ES/KG2. * NMI pin input (NMI) * Non-maskable interrupt request signal (INTWDT1) due to overflow of watchdog timer 1 * Non-maskable interrupt request signal (INTWDT2) due to overflow of watchdog timer 2 There are four choices for the valid edge of an NMI pin, namely: rising edge, falling edge, both edges, and no edge detection. The non-maskable interrupt request signal (INTWDT1) due to overflow of watchdog timer 1 functions by setting the WDTM1.WDTM14 and WDTM1.WDTM13 bits to 10. The non-maskable interrupt request signal (INTWDT2) due to overflow of watchdog timer 2 functions by setting the WDTM2.WDM21 and WDTM2.WDM20 bits to 01. When two or more non-maskable interrupts occur simultaneously, they are processed in a sequence determined by the following priority order (the interrupt request signals with low priority level are ignored). INTWDT2 > INTWDT1 > NMI If during NMI processing, an NMI, INTWDT1, or INTWDT2 request signal newly occurs, processing is performed as follows. (1) If an NMI request signal newly occurs during NMI processing The new NMI request signal is held pending regardless of the value of the PSW.NP bit. The NMI request signal held pending is acknowledged upon completion of processing of the NMI currently being executed (following RETI instruction execution). (2) If an INTWDT1 request signal newly occurs during NMI processing If the NP bit remains set (to 1) during NMI processing, the new INTWDT1 request signal is held pending. The INTWDT1 request signal held pending is acknowledged upon completion of processing of the NMI currently being executed (following RETI instruction execution). If the NP bit is cleared (to 0) during NMI processing, a newly generated INTWDT1 request signal is executed (NMI processing is interrupted). (3) If an INTWDT2 request signal newly occurs during NMI processing A newly generated INTWDT2 request signal is executed regardless of the value of the NP bit (NMI processing is interrupted). Caution For non-maskable interrupt servicing from non-maskable interrupt request signals (INTWDT1, INTWDT2), refer to 21.10 Cautions.
656
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Figure 21-1. Acknowledging Non-Maskable Interrupt Request Signals (1/2)
(a) If two or more NMI request signals are simultaneously generated
* NMI and INTWDT1 requests simultaneously generated
* NMI and INTWDT2 requests simultaneously generated
Main routine
INTWDT1 processing NMI, INTWDT1 request (simultaneously generated)
Main routine
INTWDT2 processing NMI, INTWDT2 request (simultaneously generated)
System reset
System reset
* INTWDT1 and INTWDT2 requests simultaneously generated
* NMI, INTWDT1, and INTWDT2 requests simultaneously generated
Main routine
INTWDT2 processing INTWDT1, INTWDT2 request (simultaneously generated)
Main routine
INTWDT2 processing NMI, INTWDT1, INTWDT2 requests (simultaneously generated)
System reset
System reset
Preliminary User's Manual U17703EJ1V0UD
657
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Figure 21-1. Acknowledging Non-Maskable Interrupt Request Signals (2/2)
(b) If a new non-maskable interrupt request signal is generated during a non-maskable interrupt servicing
Non-maskable interrupt currently being serviced NMI Non-maskable interrupt request newly generated during non-maskable interrupt servicing NMI * Generation of NMI request during NMI processing INTWDT1 INTWDT2
* Generation of INTWDT1 request during NMI processing * Generation of INTWDT2 request during NMI processing (NP = 1 state prior to INTWDT1 request is maintained)
Main routine NMI processing NMI request(Hold pending) (Held pending) NMI processing NMI request INTWDT1 request (Hold pending) INTWDT1 processing NMI request INTWDT2 request Main routine NMI processing NMI request Main routine NMI processing INTWDT2 processing
System reset
System reset
* Generation of INTWDT1 request during NMI processing (Set NP = 0 before INTWDT1 request)
Main routine NP = 0 NMI request INTWDT1 request
NMI processing
INTWDT1 processing
System reset
* Generation of INTWDT1 request during NMI processing (Set NP = 0 after INTWDT1 request)
Main routine
NMI processing INTWDT1(Hold pending) request NP = 0
INTWDT1 processing
NMI request
System reset
INTWDT1 * Generation of NMI request during INTWDT1 processing * Generation of INTWDT1 request during INTWDT1 processing * Generation of INTWDT2 request during INTWDT1 processing
Main routine INTWDT1 processing INTWDT1 request NMI request(Invalid) System reset
Main routine INTWDT1 processing INTWDT1 request INTWDT1(Invalid) request System reset INTWDT1 request System reset Main routine INTWDT1 processing INTWDT2 processing
INTWDT2 * Generation of NMI request during INTWDT2 processing
* Generation of INTWDT1 request during INTWDT2 processing * Generation of INTWDT2 request during INTWDT2 processing
Main routine INTWDT2 processing INTWDT2 request NMI request(Invalid) System reset
Main routine INTWDT2 processing INTWDT1(Invalid) request System reset
Main routine INTWDT2 processing INTWDT2(Invalid) request System reset
INTWDT2 request
INTWDT2 request
658
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.2.1 Operation Upon generation of a non-maskable interrupt request signal, the CPU performs the following processing and transfers control to a handler routine. <1> Saves the restored PC to FEPC. <2> Saves the current PSW to FEPSW. <3> Writes the exception code (0010H, 0020H, 0030H) to the higher halfword (FECC) of ECR. <4> Sets the PSW.NP and PSW.ID bits to 1 and clears the PSW.EP bit to 0. <5> Loads the handler address (00000010H, 00000020H, 00000030H) of the non-maskable interrupt to the PC and transfers control. Figure 21-2 shows the servicing flow for non-maskable interrupts. Figure 21-2. Non-Maskable Interrupt Servicing
NMI input
INTC acknowledged
Non-maskable interrupt request
CPU processing PSW. NP 0 1
FEPC FEPSW ECR. FECC PSW. NP PSW. EP PSW. ID PC
Restored PC PSW Exception code 1 0 1 Handler address
Interrupt request held pending
Interrupt servicing
Preliminary User's Manual U17703EJ1V0UD
659
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.2.2 Restore Execution is restored from non-maskable interrupt servicing by the RETI instruction. (1) In case of NMI Restore from NMI processing is done with the RETI instruction. When the RETI instruction is executed, the CPU performs the following processing and transfers control to the address of the restored PC. (i) Loads the values of the restored PC and PSW from FEPC and FEPSW, respectively, because the PSW.EP bit and the PSW.NP bit are 0 and 1, respectively. (ii) Transfers control back to the loaded address of the restored PC and PSW. Figure 21-3 shows the processing flow of the RETI instruction. Figure 21-3. RETI Instruction Processing
RETI instruction
1
PSW.EP
0
PSW.NP
0
1
PC PSW
EIPC EIPSW
PC PSW
FEPC FEPSW
Original processing restored
Caution When the EP bit and the NP bit are changed by the LDSR instruction during non-maskable interrupt servicing, in order to restore the PC and PSW correctly during restoring by the RETI instruction, it is necessary to clear the EP bit back to 0 and set the NP bit back to 1 using the LDSR instruction immediately before the RETI instruction. Remark The solid line shows the CPU processing flow.
(2) In case of INTWDT1 and INTWDT2 signals For non-maskable interrupt servicing by the non-maskable interrupt request signals (INTWDT1, INTWDT2), refer to 21.10 Cautions.
660
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.2.3 NP flag The NP flag is a status flag that indicates that non-maskable interrupt servicing is in progress. This flag is set when a non-maskable interrupt request has been acknowledged, and masks all non-maskable requests to prevent multiple interrupts.
After reset: 00000020H
PSW
0
NP
EP
ID SAT CY OV
S
Z
NP 0 1
NMI servicing status No non-maskable interrupt servicing Non-maskable interrupt serving in progress
Preliminary User's Manual U17703EJ1V0UD
661
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.3 Maskable Interrupts
Maskable interrupt request signals can be masked by interrupt control registers. maskable interrupt sources (refer to 21.1.1 Features). If two or more maskable interrupt request signals are generated at the same time, they are acknowledged according to the default priority. In addition to the default priority, eight levels of interrupt priorities can be specified by using the interrupt control registers, allowing programmable priority control. When an interrupt request signal has been acknowledged, the interrupt disabled (DI) status is set and the acknowledgment of other maskable interrupt request signals is disabled. When the EI instruction is executed in an interrupt servicing routine, the interrupt enabled (EI) status is set, which enables acknowledgment of interrupt request signals having a priority higher than that of the interrupt request signal currently in progress. Note that only interrupt request signals with a higher priority have this capability; interrupt request signals with the same priority level cannot be nested. To use multiple interrupts, it is necessary to save EIPC and EIPSW to memory or a register before executing the EI instruction, and restore EIPC and EIPSW to the original values by executing the DI instruction before the RETI instruction. When the WDTM1.WDTM14 bit is cleared to 0, the watchdog timer 1 overflow interrupt functions as a maskable interrupt (INTWDTM1). 21.3.1 Operation If a maskable interrupt request signal is generated, the CPU performs the following processing and transfers control to a handler routine. <1> Saves the restored PC to EIPC. <2> Saves the current PSW to EIPSW. <3> Writes an exception code to the lower halfword of ECR (EICC). <4> Sets the PSW.ID bit to 1 and clears the PSW.EP bit to 0. <5> Loads the corresponding handler address to the PC and transfers control. The maskable interrupt request signal masked by INTC and the maskable interrupt request signal that occurs while another interrupt is being serviced (when PSW.NP bit = 1 or ID bit = 1) are held pending internally. When the interrupts are unmasked, or when the NP bit = 0 and the ID bit = 0 by using the RETI and LDSR instructions, a new maskable interrupt servicing is started in accordance with the priority of the pending maskable interrupt request signal. Figure 21-4 shows the servicing flow for maskable interrupts. The V850ES/KG2 has 47
662
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Figure 21-4. Maskable Interrupt Servicing
INT input
Interrupt mask released? Yes INTC acknowledged Priority higher than that of interrupt currently being serviced? Yes Priority higher than that of other interrupt requests? Yes Highest default priority of interrupt requests with the same priority? Yes Maskable interrupt request
No
No
No
No
Interrupt request pending
1 PSW. NP 0 1 PSW. ID CPU processing EIPC EIPSW ECR. EICC PSW. EP PSW. ID ISPR. correspondingbitNote PC 0 Restored PC PSW Exception code 0 1 1 Handler address Interrupt request pending
Interrupt servicing
Note For the ISPR register, refer to 21.3.6 In-service priority register (ISPR).
Preliminary User's Manual U17703EJ1V0UD
663
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.3.2 Restore Execution is restored from maskable interrupt servicing by the RETI instruction. When the RETI instruction is executed, the CPU performs the following processing and transfers control to the address of the restored PC. (1) Loads the values of the restored PC and PSW from EIPC and EIPSW because the PSW.EP bit and the PSW.NP bit are both 0. (2) Transfers control back to the loaded address of the restored PC and PSW. Figure 21-5 shows the processing flow of the RETI instruction. Figure 21-5. RETI Instruction Processing
RETI instruction
1 PSW. EP 0 1
PSW. NP 0 PC PSW ISPR. corresponding -bitNote EIPC EIPSW
PC PSW
FEPC FEPSW
0
Original processing restored
Note For the ISPR register, refer to 21.3.6 In-service priority register (ISPR). Caution When the EP bit and the NP bit are changed by the LDSR instruction during maskable interrupt servicing, in order to restore the PC and PSW correctly during restoring by the RETI instruction, it is necessary to clear the EP bit back to 0 and the NP bit back to 0 using the LDSR instruction immediately before the RETI instruction. Remark The solid line shows the CPU processing flow.
664
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.3.3 Priorities of maskable interrupts INTC provides a multiple interrupt servicing in which an interrupt can be acknowledged while another interrupt is being serviced. Multiple interrupts can be controlled by priority levels. There are two types of priority level control: control based on the default priority levels, and control based on the programmable priority levels specified by the interrupt priority level specification bit (xxICn.xxPRn bit). When two or more interrupts having the same priority level specified by xxPRn are generated at the same time, interrupts are serviced in order depending on the priority level allocated to each interrupt request (default priority level) beforehand. For more information, refer to Table 21-1 Interrupt Source List. Programmable priority control divides interrupt requests into eight levels by setting the priority level specification flag. Note that when an interrupt request signal is acknowledged, the PSW.ID flag is automatically set (1). Therefore, when multiple interrupts are to be used, clear (0) the ID flag beforehand (for example, by placing the EI instruction into the interrupt service program) to enable interrupts. Remark xx: Identifying name of each peripheral unit (refer to Table 21-2 (xxICn)) n: Peripheral unit number (refer to Table 21-2 Interrupt Control Registers (xxICn)) Interrupt Control Registers
Preliminary User's Manual U17703EJ1V0UD
665
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Figure 21-6. Example of Interrupt Nesting (1/2)
Main routine Servicing of a EI Interrupt request a (level 3) EI Interrupt request b (level 2) Interrupt request b is acknowledged because the priority of b is higher than that of a and interrupts are enabled. Servicing of b
Servicing of c
Interrupt request c (level 3)
Interrupt request d (level 2) Although the priority of interrupt request d is higher than that of c, d is held pending because interrupts are disabled.
Servicing of d
Servicing of e EI Interrupt request e (level 2) Interrupt request f (level 3) Interrupt request f is held pending even if interrupts are enabled because its priority is lower than that of e. Servicing of f
Servicing of g EI Interrupt request g (level 1) Interrupt request h (level 1) Servicing of h
Interrupt request h is held pending even if interrupts are enabled because its priority is the same as that of g.
Caution The values of EIPC and EIPSW must be saved before executing multiple interrupts. Remarks 1. a to u in the figure are the names of interrupt request signals shown for the sake of explanation. 2. The default priority in the figure indicates the relative priority between two interrupt request signals.
666
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Figure 21-6. Example of Interrupt Nesting (2/2)
Main routine Servicing of i
EI
EI Interrupt request j (level 3) Interrupt request k (level 1)
Servicing of k
Interrupt request i (level 2)
Interrupt request j is held pending because its priority is lower than that of i. k that occurs after j is acknowledged because it has the higher priority.
Servicing of j
Servicing of l
Interrupt requests m and n are held pending because servicing of l is performed in the interrupt disabled status.
Interrupt request l (level 2)
Interrupt request m (level 3) Interrupt request n (level 1)
Servicing of n
Pending interrupt requests are acknowledged after servicing of interrupt request l. At this time, interrupt requests n is acknowledged first even though m has occurred first because the priority of n is higher than that of m.
Servicing of m
Interrupt request o (level 3)
Servicing of o Servicing of p EI Servicing of q EI Servicing of r EI Interrupt request p Interrupt request q EI (level 2) Interrupt request r (level 1) (level 0)
If levels 3 to 0 are acknowledged
Servicing of s
Pending interrupt requests t and u are acknowledged after processing of s. Because the priorities of t and u are the same, u is acknowledged first because it has the higher default priority, regardless of the order in which the interrupt requests have been generated.
Interrupt request s (level 1)
Interrupt request t (level 2)Note 1 Interrupt request u (level 2)Note 2
Servicing of u
Servicing of t
Notes 1. Lower default priority 2. Higher default priority
Preliminary User's Manual U17703EJ1V0UD
667
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Figure 21-7. Example of Servicing Simultaneously Generated Interrupt Request Signals
Main routine EI Interrupt request a (level 2) Interrupt request b (level 1)Note 1 Interrupt request c (level 1)Note 2 Servicing of interrupt request b *Interrupt requests b and c are acknowledged first according to their priorities. *Because the priorities of b and c are the same, b is acknowledged first because it has the higher default priority.
Servicing of interrupt request c
Servicing of interrupt request a
Notes 1. Higher default priority 2. Lower default priority
668
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.3.4 Interrupt control register (xxlCn) An interrupt control register is assigned to each maskable interrupt and sets the control conditions for each maskable interrupt request. The interrupt control registers can be read or written in 8-bit or 1-bit units. Reset sets xxICn to 47H. Caution Be sure to read the xxICn.xxIFn bit while interrupts are disabled (DI). If the xxIFn bit is read while interrupts are enabled (EI), an incorrect value may be read if there is a conflict between acknowledgment of the interrupt and reading of the bit.
After reset: 47H <>
R/W <>
Address: FFFFF110H to FFFFF168H
xxICn
xxIFn
xxMKn
0
0
0
xxPRn2
xxPRn1
xxPRn0
xxIFn 0 1
Interrupt request flagNote Interrupt request not generated Interrupt request generated
xxMKn 0 1 Enables interrupt servicing
Interrupt mask flag
Disables interrupt servicing (pending)
xxPRn2 0 0 0 0 1 1 1 1
xxPRn1 0 0 1 1 0 0 1 1
xxPRn0 0 1 0 1 0 1 0 1
Interrupt priority specification bit Specifies level 0 (highest) Specifies level 1 Specifies level 2 Specifies level 3 Specifies level 4 Specifies level 5 Specifies level 6 Specifies level 7 (lowest)
Note Automatically reset by hardware when interrupt request is acknowledged. Remark xx: Identifying name of each peripheral unit (refer to Table 21-2 (xxICn)) n: Peripheral unit number (refer to Table 21-2 Interrupt Control Registers (xxICn)) Interrupt Control Registers
Following tables list the addresses and bits of the interrupt control registers.
Preliminary User's Manual U17703EJ1V0UD
669
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Table 21-2. Interrupt Control Registers (xxlCn) (1/2)
Address Register <7> FFFFF110H FFFFF112H FFFFF114H FFFFF116H FFFFF118H FFFFF11AH FFFFF11CH FFFFF11EH FFFFF120H FFFFF122H FFFFF124H FFFFF126H FFFFF128H FFFFF12AH FFFFF12CH FFFFF12EH FFFFF130H FFFFF132H FFFFF134H FFFFF136H FFFFF138H FFFFF13AH FFFFF13CH FFFFF13EH FFFFF140H FFFFF142H FFFFF144H FFFFF146H FFFFF148H FFFFF14AH FFFFF14CH FFFFF14EH FFFFF150H FFFFF152H FFFFF154H FFFFF156H FFFFF162H FFFFF164H FFFFF166H FFFFF172H FFFFF174H FFFFF176H FFFFF178H FFFFF17AH WDT1IC PIC0 PIC1 PIC2 PIC3 PIC4 PIC5 PIC6 TM0IC00 TM0IC01 TM0IC10 TM0IC11 TM5IC0 TM5IC1 CSI0IC0 CSI0IC1 SREIC0 SRIC0 STIC0 SREIC1 SRIC1 STIC1 TMHIC0 TMHIC1 CSIAIC0 IICIC0 ADIC KRIC WTIIC WTIC BRGIC TM0IC20 TM0IC21 TM0IC30 TM0IC31 CSIAIC1 SREIC2 SRIC2 STIC2 PIC7 TP0OVIC WDT1IF PIF0 PIF1 PIF2 PIF3 PIF4 PIF5 PIF6 TM0IF00 TM0IF01 TM0IF10 TM0IF11 TM5IF0 TM5IF1 CSI0IF0 CSI0IF1 SREIF0 SRIF0 STIF0 SREIF1 SRIF1 STIF1 TMHIF0 TMHIF1 CSIAIF0 IICIF0 ADIF KRIF WTIIF WTIF BRGIF TM0IF20 TM0IF21 TM0IF30 TM0IF31 CSIAIF1 SREIF2 SRIF2 STIF2 PIF7 TP0OVIF <6> WDT1MK PMK0 PMK1 PMK2 PMK3 PMK4 PMK5 PMK6 TM0MK00 TM0MK01 TM0MK10 TM0MK11 TM5MK0 TM5MK1 CSI0MK0 CSI0MK1 SREMK0 SRMK0 STMK0 SREMK1 SRMK1 STMK1 TMHMK0 TMHMK1 CSIAMK0 IICMK0 ADMK KRMK WTIMK WTMK BRGMK TM0MK20 TM0MK21 TM0MK30 TM0MK31 CSIAMK1 SREMK2 SRMK2 STMK2 PMK7 TP0OVMK 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Bits 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0
WDT1PR2 WDT1PR1 WDT1PR0 PPR02 PPR12 PPR22 PPR32 PPR42 PPR52 PPR62 PPR01 PPR11 PPR21 PPR31 PPR41 PPR51 PPR61 PPR00 PPR10 PPR20 PPR30 PPR40 PPR50 PPR60
TM0PR002 TM0PR001 TM0PR000 TM0PR012 TM0PR011 TM0PR010 TM0PR102 TM0PR101 TM0PR100 TM0PR112 TM0PR111 TM0PR110 TM5PR02 TM5PR12 TM5PR01 TM5PR11 TM5PR00 TM5PR10
CSI0PR02 CSI0PR01 CSI0PR00 CSI0PR12 CSI0PR11 CSI0PR10 SREPR02 SRPR02 STPR02 SREPR12 SRPR12 STPR12 TMHPR02 TMHPR12 IICPR02 ADPR2 KRPR2 WTIPR2 WTPR2 BRGPR2 SREPR01 SRPR01 STPR01 SREPR11 SRPR11 STPR11 TMHPR01 TMHPR11 IICPR01 ADPR1 KRPR1 WTIPR1 WTPR1 BRGPR1 SREPR00 SRPR00 STPR00 SREPR10 SRPR10 STPR10 TMHPR00 TMHPR10 IICPR00 ADPR0 KRPR0 WTIPR0 WTPR0 BRGPR0
CSIAPR02 CSIAPR01 CSIAPR00
TM0PR202 TM0PR201 TM0PR200 TM0PR212 TM0PR211 TM0PR210 TM0PR302 TM0PR301 TM0PR300 TM0PR312 TM0PR311 TM0PR310 CSIAPR12 CSIAPR11 CSIAPR10 SREPR22 SRPR22 STPR22 PPR72 TP0CCPR02 TP0CCPR12 SREPR21 SRPR21 STPR21 PPR71 TP0CCPR01 TP0CCPR11 SREPR20 SRPR20 STPR20 PPR70 TP0CCPR00 TP0CCPR10
TP0OVPR2 TP0OVPR1 TP0OVPR0
TP0CCIC0 TP0CCIF0 TP0CCMK0 TP0CCIC1 TP0CCIF1 TP0CCMK1 DMAIC0 DMAIF0 DMAMK0
DMAPR02 DMAPR01 DMAPR00
670
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Table 21-2. Interrupt Control Registers (xxlCn) (2/2)
Address Register <7> FFFFF17CH FFFFF17EH FFFFF180H DMAIC1 DMAIC2 DMAIC3 DMAIF1 DMAIF2 DMAIF3 <6> DMAMK1 DMAMK2 DMAMK3 5 0 0 0 4 0 0 0 Bits 3 0 0 0 2 1 0
DMAPR12 DMAPR11 DMAPR10 DMAPR22 DMAPR21 DMAPR20 DMAPR32 DMAPR31 DMAPR30
21.3.5 Interrupt mask registers 0 to 3 (IMR0 to IMR3) These registers set the interrupt mask status for maskable interrupts. The xxMKn bit of the IMR0 to IMR3 registers and the xxMKn bit of the xxlCn register are respectively linked. The IMRm register can be read or written in 16-bit units. When the higher 8 bits of the IMRm register are used as the IMRmH register and the lower 8 bits of the IMRm register as the IMRmL register, they can be read or written in 8-bit or 1-bit units (m = 0 to 3). Caution In the device file, the xxMKn bit of the xxICn register is defined as a reserved word. Therefore, if bit manipulation is performed using the name xxMKn, the xxICn register, not the IMRm register, is rewritten (as a result, the IMRm register is also rewritten).
Preliminary User's Manual U17703EJ1V0UD
671
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
After reset: FFFFH
15
R/W
14
Address: IMR0 FFFFF100H, IMR0L FFFFF100H, IMR0H FFFFF101H
13 12 11 10 9 8
IMR0 (IMR0H
Note
) CSI0MK1 CSI0MK0 TM5MK1 TM5MK0 TM0MK11 TM0MK10 TM0MK01 TM0MK00
7 6 5 4 3 2 1 0
(IMR0L)
PMK6
PMK5
PMK4
PMK3
PMK2
PMK1
PMK0
WDT1MK
After reset: FFFFH
15
R/W
14
Address: IMR1 FFFFF102H, IMR1L FFFFF102H, IMR1H FFFFF103H
13 12 11 10 9 8
IMR1 (IMR1H
Note
) TM0MK20 BRGMK
7 6
WTMK
5
WTIMK
4
KRMK
3
ADMK
2
IICMK0 CSIAMK0
1 0
(IMR1L) TMHMK1 TMHMK0
STMK1
SRMK1
SREMK1
STMK0
SRMK0
SREMK0
After reset: FFFFH
15
R/W
14
Address: IMR2 FFFFF104H, IMR2L FFFFF104H, IMR2H FFFFF105H
13 12 11 10 9 8
IMR2 (IMR2H
Note
)
1
7
1
6
1
5
1
4
STMK2
3
SRMK2
2
SREMK2
1
1
0
(IMR2L)
1
1
1
1
CSIAMK1 TM0MK31 TM0MK30 TM0MK21
After reset: FFFFH
15
R/W
14
Address: IMR3 FFFFF106H, IMR3L FFFFF106H, IMR3H FFFFF107H
13 12 11 10 9 8
IMR3 (IMR3H
Note
)
1
7
1
6
1
5
1
4
1
3
1
2
1
1
DMAMK3
0
(IMR3L) DMAMK2 DMAMK1 DMAMK0 TP0CCMK1 TP0CCMK2 TP0OVFMK
PMK7
1
xxMKn 0 1
Interrupt mask flag setting Enables interrupt servicing Disables interrupt servicing
Note When reading from or writing to bits 8 to 15 of the IMR0 to IMR3 registers in 8-bit or 1-bit units, specify these bits as bits 0 to 7 of the IMR0H to IMR3H registers. Caution Set bits 15 to 12 and 8 to 4 of the IMR2 register and bits 15 to 9 and 0 of the IMR3 register to 1. The operation is not guaranteed if their value is changed. Remark xx: Identifying name of each peripheral unit (refer to Table 21-2 Interrupt Control Registers (xxICn)) n: Peripheral unit number (refer to Table 21-2 Interrupt Control Registers (xxICn))
672
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.3.6 In-service priority register (ISPR) This register holds the priority level of the maskable interrupt currently being acknowledged. When the interrupt request signal is acknowledged, the bit of this register corresponding to the priority level of that interrupt request signal is set (1) and remains set while the interrupt is being serviced. When the RETI instruction is executed, the bit among those that are set (1) in the ISPR register that corresponds to the interrupt request signal having the highest priority is automatically cleared (0) by hardware. However, it is not cleared (0) when execution is returned from non-maskable interrupt servicing or exception processing. This register is read-only in 8-bit or 1-bit units. Reset sets ISPR to 00H. Caution If an interrupt is acknowledged while the ISPR register is being read in the interrupt enabled (EI) status, the value of the ISPR register after the bits of the register have been set to 1 by acknowledging the interrupt may be read. To accurately read the value of the ISPR register before an interrupt is acknowledged, read the register while interrupts are disabled (DI status).
After reset: 00H <>
R
Address: FFFFF1FAH <> <> <> <> <> <> <>
ISPR
ISPR7
ISPR6
ISPR5
ISPR4
ISPR3
ISPR2
ISPR1
ISPR0
ISPRn 0 1
Priority of interrupt currently being acknowledged Interrupt request with priority n is not acknowledged Interrupt request with priority n is being acknowledged
Remark
n = 0 to 7 (priority level)
Preliminary User's Manual U17703EJ1V0UD
673
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.3.7 ID flag The interrupt disable flag (ID) is allocated to the PSW and controls the maskable interrupt's operating state, and stores control information regarding enabling/disabling reception of interrupt request signals. Reset sets this flag to 00000020H.
After reset: 00000020H
PSW
0
NP
EP
ID SAT CY OV
S
Z
ID 0 1
Maskable interrupt servicing specificationNote Maskable interrupt request signal acknowledgment enabled Maskable interrupt request signal acknowledgment disabled
Note Interrupt disable flag (ID) function ID is set (1) by the DI instruction and cleared (0) by the EI instruction. Its value is also modified by the RETI instruction or LDSR instruction when referencing the PSW. Non-maskable interrupt request signals and exceptions are acknowledged regardless of this flag. When a maskable interrupt request signal is acknowledged, the ID flag is automatically set (1) by hardware. An interrupt request signal generated during the acknowledgment disabled period (ID flag = 1) can be acknowledged when the xxICn.xxIFn bit is set (1), and the ID flag is cleared (0).
674
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.3.8 Watchdog timer mode register 1 (WDTM1) This register is a special register that can be written to only in a special sequence. To generate a maskable interrupt (INTWDT1), clear the WDTM14 bit to 0. This register can be read or written in 8-bit or 1-bit units (for details, refer to CHAPTER 12 WATCHDOG TIMER FUNCTIONS).
After reset: 00H <> WDTM1 RUN1
R/W
Address: FFFFF6C2H
0
0
WDTM14 WDTM13
0
0
0
RUN1 0 1
Watchdog timer operation mode selectionNote 1 Stop count operation Clear counter and start count operation
WDTM14 WDTM13 0 0 1 1 0 1 0 1
Watchdog timer operation mode selectionNote 2 Interval timer mode (Generate maskable interrupt INTWDTM1 when overflow occurs) Watchdog timer mode 1Note 3 (Generate non-maskable interrupt INTWDT1 when overflow occurs) Watchdog timer mode 2 (Start WDTRES2 reset operation when overflow occurs)
Notes 1. Once the RUN1 bit has been set (1), it cannot be cleared (0) by software. Therefore, once counting starts, it cannot be stopped except reset. 2. Once the WDTM14 and WDTM13 bits have been set (1), they cannot be cleared (0) by software. Reset is the only way to clear these bits. 3. For non-maskable interrupt servicing due to a non-maskable interrupt request signal (INTWDT1), refer to 21.10 Cautions.
Preliminary User's Manual U17703EJ1V0UD
675
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.4 External Interrupt Request Input Pins (NMI, INTP0 to INTP7)
21.4.1 Noise elimination (1) Noise elimination for NMI pin The NMI pin includes a noise eliminator that operates using analog delay. Therefore, a signal input to the NMI pin is not detected as an edge unless it maintains its input level for a certain period. The edge is detected only after a certain period has elapsed. The NMI pin is used for releasing the STOP mode. In the STOP mode, noise elimination using the system clock is not performed because the internal system clock is stopped. (2) Noise elimination for INTP0 to INTP2 and INTP4 to INTP7 pins The INTP0 to INTP2 and INTP4 to INTP7 pins include a noise eliminator that operates using analog delay. Therefore, a signal input to each pin is not detected as an edge unless it maintains its input level for a certain period. The edge is detected only after a certain period has elapsed. (3) Noise elimination for INTP3 pin The INTP3 pin has a digital/analog noise eliminator that can be selected by the NFC.NFEN bit. The number of times the digital noise eliminator samples signals can be selected by the NFC.NFSTS bit from three or two. The sampling clock can be selected by the NFC.NFC2 to NFC.NFC0 bits from fXX/64, fXX/128, fXX/256, fXX/512, fXX/1024, and fXT. If the sampling clock is set to fXX/64, fXX/128, fXX/256, fXX/512, or fXX/1024, the sampling clock stops in the IDLE/STOP mode. It cannot therefore be used to release the standby mode. To release the standby mode, select fXT as the sampling clock or select the analog noise eliminator.
676
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
(a) Digital noise elimination control register (NFC) The NFC register controls elimination of noise on the INTP3 pin. If fXT is used as the noise elimination clock, the external interrupt function of the INTP3 pin can be used even in the IDLE/STOP mode. This register can be read or written in 8-bit or 1-bit units. Reset sets NFC to 00H.
After reset: 00H
R/W
Address: FFFFF318H
NFC
NFEN
NFSTS
0
0
0
NFC2
NFC1
NFC0
NFEN 0 1 NFSTS 0 1
Setting of INTP3 pin noise elimination Analog noise elimination Digital noise elimination Setting of number of samplings of digital noise elimination Number of samplings = 3 times Number of samplings = 2 times
NFC2 0 0 0 0 1 1
NFC1 0 0 1 1 0 0
NFC0 0 1 0 1 0 1 fXX/64 fXX/128 fXX/256 fXX/512 fXX/1024 fXT
Selection of sampling clock
Other than above
Setting prohibited
Remark
fXX: Main clock frequency fXT: Subclock frequency
Preliminary User's Manual U17703EJ1V0UD
677
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
The digital noise elimination width (tWIT3) is as follows, where T is the sampling clock period and M is the number of samplings. * tWIT3 < (M - 1)T: * (M - 1)T tWIT3 < MT: * tWIT3 MT: Accurately eliminated as noise May be eliminated as noise or detected as valid edge Accurately detected as valid edge
To detect the valid edge input to the INTP3 pin accurately, therefore, a pulse wider than MT must be input.
NFSTS NFC2 NFC1 NFC0 Sampling Clock Minimum Elimination Noise Width fXX = 20 MHz 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 fXX/64 fXX/128 fXX/256 fXX/512 fXX/1024 fXT (32.768 kHz) fXX/64 fXX/128 fXX/256 fXX/512 fXX/1024 fXT (32.768 kHz) Setting prohibited 6.4 s 12.8 s 25.6 s 51.2 s 102.4 s 61.04 s 3.2 s 6.4 s 12.8 s 25.6 s 51.2 s 30.52 s 6.4 s 12.8 s 25.6 s 51.2 s 102.4 s 8 s 16 s 32 s 64 s 128 s fXX = 10 MHz 12.8 s 25.6 s 51.2 s 102.4 s 204.8 s fXX = 8 MHz 16 s 32 s 64 s 128 s 256 s
Other than above
21.4.2 Edge detection The valid edges of the NMI and INTP0 to INTP7 pins can be selected from the following four types for each pin. * Rising edge * Falling edge * Both edges * No edge detection After reset, the edge detection for the NMI pin is set to "no edge detection". Therefore, interrupt requests cannot be acknowledged (the NMI pin functions as a normal port) unless a valid edge is specified by the INTR0 and INTF0 registers. When using the P02 pin as an output port, set the NMI pin valid edge to "no edge detection".
678
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
(1) External interrupt rising and falling edge specification registers 0 (INTR0, INTF0) These are 8-bit registers that specify detection of the rising and falling edges of the NMI and INTP0 to INTP3 pins. These registers can be read or written in 8-bit or 1-bit units. Reset sets these registers to 00H. Caution When switching to the port function from the external interrupt function (alternate function), edge detection may be performed. Therefore, set the port mode after setting the INTF0n and INTR0n bits = 00.
After reset: 00H
R/W
Address: INTR0 FFFFFC20H, INTF0 FFFFFC00H
INTR0
0
INTR06 INTP3
INTR05 INTP2
INTR04 INTP1
INTR03 INTP0
INTR02 NMI
0
0
INTF0
0
INTF06 INTP3
INTF05 INTP2
INTF04 INTP1
INTF03 INTP0
INTF02 NMI
0
0
Remark
For specification of the valid edge, refer to Table 21-3.
Table 21-3. NMI and INTP0 to INTP3 Pins Valid Edge Specification
INTF0n 0 0 1 1 INTR0n 0 1 0 1 Valid edge specification (n = 2 to 6) No edge detection Rising edge Falling edge Both edges
Remark n = 2:
Control of NMI pin
n = 3 to 6: Control of INTP0 to INTP3 pins
Preliminary User's Manual U17703EJ1V0UD
679
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
(2) External interrupt rising and falling edge specification registers 3 (INTR3, INTF3) These are 8-bit registers that specify detection of the rising and falling edges of the INTP7 pin. These registers can be read or written in 8-bit or 1-bit units. Reset sets these registers to 00H. Caution When switching to the port function from the external interrupt function (alternate function), edge detection may be performed. Therefore, set the port mode after setting the INTF31 and INTR31 bits = 00.
After reset: 00H
R/W
Address: INTR3 FFFFFC26H, INTF3 FFFFFC06H
INTR3
0
0
0
0
0
0
INTR31 INTP7
0
INTF3
0
0
0
0
0
0
INTF31 INTP7
0
Remark
For specification of the valid edge, refer to Table 21-4.
Table 21-4. INTP7 Pin Valid Edge Specification
INTF31 0 0 1 1 INTR31 0 1 0 1 No edge detection Rising edge Falling edge Both edges Valid edge specification
680
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
(3) External interrupt rising and falling edge specification registers 9H (INTR9H, INTF9H) These are 8-bit registers that specify detection of the rising edge of the INTP4 to INTP6 pins. These registers can be read or written in 8-bit or 1-bit units. Reset sets these registers to 00H. Caution When switching to the port function from the external interrupt function (alternate function), edge detection may be performed. Therefore, set the port mode after setting the INTF9n and INTR9n bits = 00.
After reset: 00H
R/W
Address: INTR9H FFFFFC33H, INTF9H FFFFFC13H
INTR9H
INTR915 INTR914 INTR913 INTP6 INTP5 INTP4
0
0
0
0
0
INTF9H
INTF915 INTF914 INTF913 INTP6 INTP5 INTP4
0
0
0
0
0
Remark
For specification of the valid edge, refer to Table 21-5.
Table 21-5. INTP4 to INTP6 Pins Valid Edge Specification
INTF9n 0 0 1 1 INTR9n 0 1 0 1 Valid edge specification (n = 13 to 15) No edge detection Rising edge Falling edge Both edges
Remark n = 13 to 15: Control of INTP4 to INTP6 pins
Preliminary User's Manual U17703EJ1V0UD
681
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.5 Software Exceptions
A software exception is generated when the CPU executes the TRAP instruction. Software exceptions can always be acknowledged. 21.5.1 Operation If a software exception occurs, the CPU performs the following processing and transfers control to a handler routine. <1> Saves the restored PC to EIPC. <2> Saves the current PSW to EIPSW. <3> Writes an exception code to the lower 16 bits (EICC) of ECR (interrupt source). <4> Sets the PSW.EP and PSW.ID bits to 1. <5> Loads the handler address (00000040H or 00000050H) for the software exception routine to the PC and transfers control. Figure 21-8 shows the software exception processing flow. Figure 21-8. Software Exception Processing
TRAP instructionNote
CPU processing
EIPC EIPSW ECR.EICC PSW.EP PSW.ID PC
Restored PC PSW Exception code 1 1 Handler address
Exception processing
Note TRAP instruction format: TRAP vector (However, vector = 00H to 1FH)
The handler address is determined by the operand (vector) of the TRAP instruction. If the vector is 00H to 1FH, the handler address is 00000040H, and if the vector is 10H to 1FH, the handler address is 00000050H.
682
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.5.2 Restore Execution is restored from software exception processing by the RETI instruction. When the RETI instruction is executed, the CPU performs the following processing and transfers control to the address of the restored PC. <1> Loads the restored PC and PSW from EIPC and EIPSW because the PSW.EP bit is 1. <2> Transfers control to the address of the restored PC and PSW. Figure 21-9 shows the processing flow of the RETI instruction. Figure 21-9. RETI Instruction Processing
RETI instruction
1
PSW.EP 0 PSW.NP 0 1
PC PSW
EIPC EIPSW
PC PSW
FEPC FEPSW
Original processing restored
Caution When the EP bit and the NP bit are changed by the LDSR instruction during software exception processing, in order to restore the PC and PSW correctly during restoring by the RETI instruction, it is necessary to set the EP bit back to 1 using the LDSR instruction immediately before the RETI instruction. Remark The solid line shows the CPU processing flow.
Preliminary User's Manual U17703EJ1V0UD
683
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.5.3 EP flag The EP flag is a status flag that indicates that exception processing is in progress. It is set when an exception occurs.
After reset: 00000020H
PSW
0
NP
EP
ID SAT CY OV
S
Z
EP 0 1
Exception processing status Exception processing not in progress Exception processing in progress
684
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.6 Exception Trap
The exception trap is an interrupt that is requested when the illegal execution of an instruction takes place. In the V850ES/KG2, an illegal op code trap (ILGOP: illegal OP code trap) is considered as an exception trap. 21.6.1 Illegal op code An illegal op code is defined as an instruction with instruction op code (bits 10 to 5) = 111111B, sub-op code (bits 26 to 23) = 0111B to 1111B, and sub-op code (bit 16) = 0B. When such an instruction is executed, an exception trap is generated.
15
11 10
54
0 31
27 26
23 22
16
0111
XXXXX111111XXXXXXXXXX
1111
XXXXXX0
X: don't care
Caution It is recommended not to use illegal op code because instructions may newly be assigned in the future. (1) Operation Upon generation of an exception trap, the CPU performs the following processing and transfers control to a handler routine. <1> Saves the restored PC to DBPC. <2> Saves the current PSW to DBPSW. <3> Sets the PSW.NP, PSW.EP, and PSW.ID bits. <4> Loads the handler address (00000060H) for the exception trap routine to the PC and transfers control. Figure 21-10 shows the exception trap processing flow.
Preliminary User's Manual U17703EJ1V0UD
685
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
Figure 21-10. Exception Trap Processing
Exception trap (ILGOP) occurs
CPU processing
DBPC DBPSW PSW.NP PSW.EP PSW.ID PC
Restored PC PSW 1 1 1 00000060H
Exception processing
(2) Restore Execution is restored from exception trap processing by the DBRET instruction. When the DBRET instruction is executed, the CPU performs the following processing and transfers control to the address of the restored PC. <1> Loads the restored PC and PSW from DBPC and DBPSW. <2> Transfers control to the loaded address of the restored PC and PSW. Figure 21-11 shows the processing flow for restore from exception trap processing. Figure 21-11. Processing Flow for Restore from Exception Trap
DBRET instruction
PC PSW
DBPC DBPSW
Jump to restored PC address
686
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.6.2 Debug trap A debug trap is an exception that occurs upon execution of the DBTRAP instruction and that can be acknowledged at all times. When a debug trap occurs, the CPU performs the following processing. (1) Operation <1> Saves the restored PC to DBPC. <2> Saves the current PSW to DBPSW. <3> Sets the PSW.NP, PSW.EP, and PSW.ID bits to 1. <4> Sets the handler address (00000060H) for the debug trap routine to the PC and transfers control. Figure 21-12 shows the debug trap processing flow. Figure 21-12. Debug Trap Processing
DBTRAP instruction
CPU processing
DBPC DBPSW PSW.NP PSW.EP PSW.ID PC
Restored PC PSW 1 1 1 00000060H
Debug monitor routine processing
Preliminary User's Manual U17703EJ1V0UD
687
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
(2) Restore Execution is restored from debug trap processing by the DBRET instruction. When the DBRET instruction is executed, the CPU performs the following processing and transfers control to the address of the restored PC. <1> Loads the restored PC and PSW from DBPC and DBPSW. <2> Transfers control to the loaded address of the restored PC and PSW. Figure 21-13 shows the processing flow for restore from debug trap processing. Figure 21-13. Processing Flow for Restore from Debug Trap
DBRET instruction
PC PSW
DBPC DBPSW
Jump to restored PC address
688
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.7 Multiple Interrupt Servicing Control
Multiple interrupt servicing control is a function that stops an interrupt service routine currently in progress if a higher priority interrupt request signal is generated, and processes the acknowledgment operation of the higher priority interrupt request signal. If an interrupt request signal with a lower or equal priority is generated and a service routine is currently in progress, the later interrupt request signal will be held pending. Multiple interrupt servicing control is performed when interrupts are enabled (PSW.ID bit = 0). Even in an interrupt servicing routine, multiple interrupt control must be performed while interrupts are enabled (ID bit = 0). If a maskable interrupt or software exception is generated in a maskable interrupt or software exception service program, EIPC and EIPSW must be saved. The following example illustrates the procedure. (1) To acknowledge maskable interrupt request signals in service program Service program for maskable interrupt or exception ... ... * EIPC saved to memory or register * EIPSW saved to memory or register * EI instruction (enables interrupt acknowledgment) ... ... ... ... * DI instruction (disables interrupt acknowledgment) * Saved value restored to EIPSW * Saved value restored to EIPC * RETI instruction
Acknowledges maskable interrupt
Preliminary User's Manual U17703EJ1V0UD
689
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
(2) To generate exception in service program Service program for maskable interrupt or exception ... ... * EIPC saved to memory or register * EIPSW saved to memory or register ... * TRAP instruction ... * Saved value restored to EIPSW * Saved value restored to EIPC * RETI instruction Priorities 0 to 7 (0 is the highest) can be set for each maskable interrupt request in multiple interrupt servicing control by software. To set a priority level, write values to the xxICn.xxPRn0 to xxICn.xxPRn2 bits After reset, interrupt requests are masked by the corresponding to each maskable interrupt request. Acknowledges exceptions such as TRAP instruction.
xxICn.xxMKn bit, and the priority is set to level 7 by the xxPRn0 to xxPRn2 bits. Priorities of maskable interrupts are as follows. (High) Level 0 > Level 1 > Level 2 > Level 3 > Level 4 > Level 5 > Level 6 > Level 7 (Low) Interrupt servicing that has been suspended as a result of multiple interrupt servicing control is resumed after the interrupt servicing of the higher priority has been completed and the RETI instruction has been executed. A pending interrupt request signal is acknowledged after the current interrupt servicing has been completed and the RETI instruction has been executed. Caution In a non-maskable interrupt servicing routine (in the time until the RETI instruction is executed), maskable interrupts are not acknowledged and held pending.
690
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.8 Interrupt Response Time
Except in the following cases, the CPU interrupt response time is a minimum of 4 clocks. If inputting consecutive interrupt request signals, at least 4 clocks must be placed between each interrupt request signal. * IDLE/STOP mode * External bus access * Consecutive interrupt request non-sample instruction (refer to 21.9 Acknowledged by CPU) * Access to interrupt control register * Access to peripheral I/O register Figure 21-14. Pipeline Operation During Interrupt Request Signal Acknowledgment (Outline) Periods in Which Interrupts Are Not
(1) Minimum interrupt response time
4 system clocks Internal clock
Interrupt request Instruction 1 Instruction 2 Interrupt acknowledgment operation Instruction (first instruction of interrupt servicing routine) IF ID EX MEM WB
IFX IDX INT1 INT2 INT3 INT4 IF ID EX
(2) Maximum interrupt response time
6 system clocks Internal clock
Interrupt request Instruction 1 Instruction 2 Interrupt acknowledgment operation Instruction (first instruction of interrupt servicing routine) IF ID EX MEM MEM MEM WB
IFX IDX INT1 INT2 INT3 INT3 INT3 INT4 IF ID EX
Remark
INT1 to INT4: Interrupt acknowledgment processing IFX: Invalid instruction fetch IDX: Invalid instruction decode
Interrupt response time (internal system clock) Internal interrupt Min. Max. 4 6 External interrupt 4 + analog delay 6 + analog delay
Condition
The following cases are excluded. * IDLE/STOP mode * External bus access * Consecutive interrupt request non-sample instruction * Access to interrupt control register * Access to peripheral I/O register
Preliminary User's Manual U17703EJ1V0UD
691
CHAPTER 21 INTERRUPT/EXCEPTION PROCESSING FUNCTION
21.9 Periods in Which Interrupts Are Not Acknowledged by CPU
Interrupts are acknowledged by the CPU while an instruction is being executed. acknowledged between an interrupt request non-sample instruction and the next instruction. The following instructions are interrupt request non-sample instructions. * EI instruction * DI instruction * LDSR reg2, 0x5 instructions (vs. PSW) * Store instruction for the PRCMD register * Store instruction and bit manipulation instruction for the following registers * Interrupt-related registers: Interrupt control register (xxlCn), interrupt mask registers 0 to 3 (IMR0 to IMR3) However, no interrupt is
21.10 Cautions
Design the system so that restoring by the RETI instruction is as follows after a non-maskable interrupt triggered by a non-maskable interrupt request signal (INTWDT1/INTWDT2) is serviced. Figure 21-15. Restoring by RETI Instruction
Generation of INTWDT1/INTWDT2
FEPC software reset processing address FEPSW value to set NP bit =1, EP bit = 1 RETI INTWDT1/INTWDT2 servicing routine
Ten RETI instructions (FEPC and FEPSWNote must be set) PSW initial set value of PSW Initialization processing Software reset processing routine
Note FEPSW value to set NP bit = 1, EP bit = 0
692
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 22 KEY INTERRUPT FUNCTION
22.1 Function
A key interrupt request signal (INTKR) can be generated by inputting a falling edge to the eight key input pins (KR0 to KR7) by setting the KRM register. Caution If any of the KR0 to KR7 pins is at low level, the INTKR signal is not generated even if a falling edge is input to another pin. Table 22-1. Assignment of Key Return Detection Pins
Flag KRM0 KRM1 KRM2 KRM3 KRM4 KRM5 KRM6 KRM7 Pin Description Controls KR0 signal in 1-bit units Controls KR1 signal in 1-bit units Controls KR2 signal in 1-bit units Controls KR3 signal in 1-bit units Controls KR4 signal in 1-bit units Controls KR5 signal in 1-bit units Controls KR6 signal in 1-bit units Controls KR7 signal in 1-bit units
Figure 22-1. Key Return Block Diagram
KR7 KR6 KR5 KR4
INTKR
KR3 KR2 KR1 KR0
KRM7 KRM6 KRM5 KRM4 KRM3 KRM2 KRM1 KRM0
Key return mode register (KRM)
Preliminary User's Manual U17703EJ1V0UD
693
CHAPTER 22 KEY INTERRUPT FUNCTION
22.2 Register
(1) Key return mode register (KRM) The KRM register controls the KRM0 to KRM7 bits using the KR0 to KR7 signals. This register can be read or written in 8-bit or 1-bit units. Reset sets this register to 00H.
After reset: 00H
R/W
Address: FFFFF300H
KRM
KRM7
KRM6
KRM5
KRM4
KRM3
KRM2
KRM1
KRM0
KRMn 0 1
Key return mode control Does not detect key return signal Detects key return signal
Caution If the KRM register is changed, an interrupt request signal (INTKR) may be generated. To prevent this, change the KRM register after disabling interrupts (DI), and then enable interrupts (EI) after clearing the interrupt request flag (KRIC.KRIF bit) to 0. Remark For the alternate-function pin settings, refer to Table 4-16 Settings When Port Pins Are Used for Alternate Functions.
694
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 23 STANDBY FUNCTION
23.1 Overview
The power consumption of the system can be effectively reduced by using the standby modes in combination and selecting the appropriate mode for the application. The available standby modes are listed in Table 23-1. Table 23-1. Standby Modes
Mode HALT mode IDLE mode STOP mode Subclock operation mode Sub-IDLE mode Functional Outline Mode to stop only the operating clock of the CPU Mode to stop all the operations of the internal circuits except the oscillator
Note 1
Mode to stop all the operations of the internal circuits except the subclock oscillator Mode to use the subclock as the internal system clock
Note 2
Mode to stop all the operations of the internal circuits, except the oscillator, in the subclock operation mode
Notes 1. The PLL does not stop. To realize low power consumption, stop the PLL and then shift to the IDLE mode. 2. Change to the clock-through mode, stop the PLL, then shift to the STOP mode. For details, refer to CHAPTER 6 CLOCK GENERATION FUNCTION.
Preliminary User's Manual U17703EJ1V0UD
695
CHAPTER 23 STANDBY FUNCTION
Figure 23-1. Status Transition (1/2)
Normal operation mode (operation with main clock) End of oscillation stabilization time count End of oscillation stabilization time count Interrupt requestNote 3 End of oscillation stabilization time count Interrupt request
Note 2
Setting of HALT mode
Wait for stabilization of oscillation
Setting of IDLE mode
Wait for stabilization of oscillation
Setting of STOP mode
ResetNote 1
Wait for stabilization of oscillation Interrupt requestNote 4 ResetNote 5
ResetNote 5
HALT mode
IDLE mode
STOP mode
Notes 1. Reset by RESET pin input, watchdog timer 1 overflow (WDTRES1), or watchdog timer 2 overflow (WDTRES2). 2. Non-maskable interrupt request signal (NMI, INTWDT1, INTWDT2) or unmasked maskable interrupt request signal. 3. Non-maskable interrupt request signal (NMI pin input, INTWDT2 (when the CPU is operating on the subclock)), unmasked external interrupt request signal (INTP0 to INTP7 pin input), or unmasked internal interrupt request signal from peripheral functions operable in IDLE mode. 4. Non-maskable interrupt request signal (NMI pin input, INTWDT2 (when the CPU is operating on the subclock)), unmasked external interrupt request signal (INTP0 to INTP7 pin input), or unmasked internal interrupt request signal from peripheral functions operable in STOP mode. 5. Reset by RESET pin input or watchdog timer 2 (when the CPU is operating on the subclock) overflow (WDTRES2).
696
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 23 STANDBY FUNCTION
Figure 23-1. Status Transition (2/2)
Normal operation mode (operation with main clock) End of oscillation stabilization time count End of oscillation stabilization time count
Setting of subclock operation mode
Wait for stabilization of oscillation Setting of normal operation mode
Wait for stabilization of oscillation
ResetNote 1
ResetNote 1
Interrupt requestNote 2 Subclock operation mode (operation with subclock) Setting of IDLE mode Sub-IDLE mode
Notes 1. Reset by RESET pin input or watchdog timer 2 overflow (WDTRES2). 2. Non-maskable interrupt request signal (NMI pin input, INTWDT2 (when the CPU is operating on the subclock)), unmasked external interrupt request signal (INTP0 to INTP7 pin input), or unmasked internal interrupt request signal from peripheral functions operable in sub-IDLE mode.
Preliminary User's Manual U17703EJ1V0UD
697
CHAPTER 23 STANDBY FUNCTION
23.2 Registers
(1) Power save control register (PSC) This is an 8-bit register that controls the standby function. The STP bit of this register is used to specify the standby mode. The PSC register is a special register that can be written to only in a special sequence (refer to 3.4.7 Special registers). This register can be read or written in 8-bit or 1-bit units. Reset sets PSC to 00H.
After reset: 00H <> PSC NMI2M
R/W
Address: FFFFF1FEH <> <> INTM 0 0 <> STP 0
0
NMI0M
NMI2M 0 1
Control of releasing standby modeNote by INTWDT2 signal Releasing standby modeNote by INTWDT2 signal enabled Releasing standby modeNote by INTWDT2 signal disabled Control of releasing standby modeNote by NMI pin input Releasing standby modeNote by NMI pin input enabled Releasing standby modeNote by NMI pin input disabled
NMI0M 0 1
INTM 0 1
Control of releasing standby modeNote by maskable interrupt request signals Releasing standby modeNote by maskable interrupt request signals enabled Releasing standby modeNote by maskable interrupt request signals disabled
STP 0 1 Normal mode Standby modeNote
Standby modeNote setting
Note In this case, standby mode means the IDLE/STOP mode; it does not include the HALT mode. Cautions 1. If the NMI2M, NMI0M, and INTM bits, and the STP bit are set to 1 at the same time, the setting of NMI2M, NMI0M, and INTM bits becomes invalid. If there is an unmasked interrupt request signal being held pending when the IDLE/STOP mode is set, set the bit corresponding to the interrupt request signal (NMI2M, NMI0M, or INTM) to 1, and then set the STP bit to 1. 2. When the IDLE/STOP mode is set, set the PSMR.PSM bit and then set the STP bit.
698
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 23 STANDBY FUNCTION
(2) Power save mode register (PSMR) This is an 8-bit register that controls the operation status in the standby mode and the clock operation. This register can be read or written in 8-bit or 1-bit units. Reset sets PSMR to 00H.
After reset: 00H
R/W
After reset: FFFFF820H <>
PSMR
XTSTP
0
0
0
0
0
0
PSM
XTSTP 0 1
Specification of subclock oscillator use Subclock oscillator used Subclock oscillator not used
PSM 0 1 IDLE mode STOP mode
Specification of operation in standby mode
Cautions 1. Be sure to clear the XTSTP bit to 0 during subclock resonator connection. 2. Be sure to clear bits 1 to 6 of the PSMR register to 0. 3. The PSM bit is valid only when the PSC.STP bit is 1.
Preliminary User's Manual U17703EJ1V0UD
699
CHAPTER 23 STANDBY FUNCTION
(3) Oscillation stabilization time selection register (OSTS) The wait time until the oscillation stabilizes after the STOP mode is released is controlled by the OSTS register. The OSTS register can be read or written in 8-bit units. Reset sets OSTS to 01H.
After reset: 01H
R/W
Address: FFFFF6C0H
OSTS
0
0
0
0
0
OSTS2
OSTS1
OSTS0
OSTS2
OSTS1
OSTS0
Selection of oscillation stabilization time
fX
4 MHz
5 MHz
1.638 ms 6.554 ms 13.11 ms 26.21 ms 52.43 ms 104.9 ms 209.7 ms 419.4 ms
10 MHz 0.819 ms 3.277 ms 6.554 ms 13.11 ms 26.21 ms 52.43 ms 104.9 ms 209.7 ms
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
2 /fX 215/fX 2 /fX 2 /fX 2 /fX 219/fX 2 /fX 2 /fX
21 20 18 17 16
13
2.048 ms 8.192 ms 16.38 ms 32.77 ms 65.54 ms 131.1 ms 262.1 ms 524.3 ms
Cautions 1. The wait time following release of the STOP mode does not include the time until the clock oscillation starts ("a" in the figure below) following release of the STOP mode, regardless of whether the STOP mode is released by reset or the occurrence of an interrupt request signal.
STOP mode release Voltage waveform of X1 pin a VSS
2. Be sure to clear bits 3 to 7 to "0". 3. The oscillation stabilization time following reset release is 215/fX (because the initial value of the OSTS register = 01H). 4. The oscillation stabilization time is also inserted during external clock input. Remark fX: Main clock oscillation frequency
700
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 23 STANDBY FUNCTION
23.3 HALT Mode
23.3.1 Setting and operation status The HALT mode is set when a dedicated instruction (HALT) is executed in the normal operation mode. In the HALT mode, the clock oscillator continues operating. Only clock supply to the CPU is stopped; clock supply to the other on-chip peripheral functions continues. As a result, program execution is stopped, and the internal RAM retains the contents before the HALT mode was set. The on-chip peripheral functions that are independent of instruction processing by the CPU continue operating. Table 23-3 shows the operation status in the HALT mode. The average power consumption of the system can be reduced by using the HALT mode in combination with the normal operation mode for intermittent operation. Cautions 1. Insert five or more NOP instructions after the HALT instruction. 2. If the HALT instruction is executed with an unmasked interrupt request signal held pending, the system shift to the HALT mode, but the HALT mode is immediately released by the pending interrupt request signal. 23.3.2 Releasing HALT mode The HALT mode is released by a non-maskable interrupt request signal (NMI pin input, INTWDT1, INTWDT2 signal), an unmasked maskable interrupt request signal, and reset signal (RESET pin input, WDTRES1, WDTRES2 signal). After the HALT mode has been released, the normal operation mode is restored. (1) Releasing HALT mode by non-maskable interrupt request signal or unmasked maskable interrupt request signal The HALT mode is released by a non-maskable interrupt request signal or an unmasked maskable interrupt request signal, regardless of the priority of the interrupt request. If the HALT mode is set in an interrupt servicing routine, however, an interrupt request that is issued later is serviced as follows. (a) If an interrupt request signal with a priority lower than that of the interrupt request currently being serviced is issued, only the HALT mode is released, and that interrupt request signal is not acknowledged. The interrupt request signal itself is retained. (b) If an interrupt request with a priority higher than that of the interrupt request signal currently being serviced is issued (including a non-maskable interrupt request signal), the HALT mode is released and that interrupt request signal is acknowledged. Table 23-2. Operation After Releasing HALT Mode by Interrupt Request Signal
Release Source Non-maskable interrupt request signal Maskable interrupt request signal Interrupt Enabled (EI) Status Execution branches to the handler address Execution branches to the handler address or the next instruction is executed The next instruction is executed Interrupt Disabled (DI) Status
(2) Releasing HALT mode by reset The same operation as the normal reset operation is performed.
Preliminary User's Manual U17703EJ1V0UD
701
CHAPTER 23 STANDBY FUNCTION
Table 23-3. Operation Status in HALT Mode
Setting of HALT Mode Item CPU Main clock oscillator Subclock oscillator Interrupt controller Timer P (TMP0) 16-bit timers (TM00 to TM03) 8-bit timers (TM50, TM51) Timer H (TMH0, TMH1) Watch timer Operable Operable Operable Operable Operable Operable when main clock output is selected as count clock Watchdog timer 1 Watchdog timer 2 Operable Operable when main clock is selected as count clock Serial interface CSI00, CSI01 CSIA0, CSIA1 I C0 UART0 to UART2 Key interrupt function A/D converter D/A converter Real-time output DMA Regulator Port function External bus interface Internal data
2
When CPU Is Operating with Main Clock When Subclock Is Not Used Stops operation Oscillation enabled - Oscillation enabled When Subclock Is Used
Operable
Operable
Operable Operable Operable Operable Operable Operable Operable when real-time output mode is selected Operable Operable Operable Retains status before HALT mode was set. Refer to 2.2 Pin Status. The CPU registers, statuses, data, and all other internal data such as the contents of the internal RAM are retained as they were before the HALT mode was set.
702
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 23 STANDBY FUNCTION
23.4 IDLE Mode
23.4.1 Setting and operation status The IDLE mode is set by clearing the PSMR.PSM bit to 0 and setting the PSC.STP bit to 1 in the normal operation mode. In the IDLE mode, the clock oscillator continues operation but clock supply to the CPU and other on-chip peripheral functions stops. As a result, program execution stops and the contents of the internal RAM before the IDLE mode was set are retained. The CPU and other on-chip peripheral functions stop operating. However, the on-chip peripheral functions that can operate with the subclock or an external clock continue operating. Table 23-5 shows the operation status in the IDLE mode. The IDLE mode can reduce the power consumption more than the HALT mode because it stops the operation of the on-chip peripheral functions. The main clock oscillator does not stop, so the normal operation mode can be restored without waiting for the oscillation stabilization time after the IDLE mode has been released, in the same manner as when the HALT mode is released. Caution Insert five or more NOP instructions after the instruction that stores data in the PSC register to set the IDLE mode.
Preliminary User's Manual U17703EJ1V0UD
703
CHAPTER 23 STANDBY FUNCTION
23.4.2 Releasing IDLE mode The IDLE mode is released by a non-maskable interrupt request signal (NMI pin input, INTWDT2 signal (when the CPU is operating on the subclock)), unmasked external interrupt request signal (INTP0 to INTP7 pin input), unmasked internal interrupt request signal from the peripheral functions operable in the IDLE mode, or reset (RESET pin input, WDTRES2 signal (when the CPU is operating on the subclock)). After the IDLE mode has been released, the normal operation mode is restored. (1) Releasing IDLE mode by non-maskable interrupt request signal or unmasked maskable interrupt request signal The IDLE mode is released by a non-maskable interrupt request signal or an unmasked maskable interrupt request signal, regardless of the priority of the interrupt request. If the IDLE mode is set in an interrupt servicing routine, however, an interrupt request that is issued later is processed as follows. (a) If an interrupt request signal with a priority lower than that of the interrupt request currently being serviced is issued, only the IDLE mode is released, and that interrupt request signal is not acknowledged. The interrupt request signal itself is retained. (b) If an interrupt request signal with a priority higher than that of the interrupt request currently being serviced is issued (including a non-maskable interrupt request signal), the IDLE mode is released and that interrupt request signal is acknowledged. Table 23-4. Operation After Releasing IDLE Mode by Interrupt Request Signal
Release Source Non-maskable interrupt request signal Maskable interrupt request signal Interrupt Enabled (EI) Status Execution branches to the handler address Execution branches to the handler address or the next instruction is executed The next instruction is executed Interrupt Disabled (DI) Status
Caution The interrupt request signal that is disabled by setting the PSC.NMI2M, PSC.NMI0M, and PSC.INTM bits to 1 (interrupt disabled) becomes invalid and the IDLE mode is not released. (2) Releasing IDLE mode by reset The same operation as the normal reset operation is performed.
704
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 23 STANDBY FUNCTION
Table 23-5. Operation Status in IDLE Mode
Setting of IDLE Mode Item CPU Main clock oscillator Subclock oscillator Interrupt controller Timer P (TMP0) 16-bit timers (TM00 to TM03) Stops operation Stops operation TM00, TM02, TM03: Stop operation TM01: Operable when INTWT is selected as count clock and fBRG is selected as count clock of WT TM00, TM02, TM03: Stop operation TM01: Operable when INTWT is selected as count clock When CPU Is Operating with Main Clock When Subclock Is Not Used Stops operation Oscillation enabled - Oscillation enabled When Subclock Is Used
8-bit timers (TM50, TM51) Timer H (TMH0) Timer H (TMH1) Watch timer Watchdog timer 1 Watchdog timer 2 Serial interface CSI00, CSI01 CSIA0, CSIA1 I C0 UART0 UART1, UART2 Key interrupt function A/D converter D/A converter Regulator Real-time output
2
* Operable when TI5m is selected as count clock * Operable when INTTM010 is selected as count clock and TM01 is enabled in IDLE mode Stops operation Stops operation Operable when main clock is selected as count clock Stops operation Stops operation Operable when fXT is selected as count clock Operable when fXT is selected as count clock Operable
Operable when SCK0m input clock is selected as operation clock Stops operation Stops operation Operable when ASCK0 is selected as count clock Stops operation Operable Stops operation
Note
Operable However, the DACSn register cannot be updated because the CPU is stopped. Operation continues Operable when INTTM5m is selected as real-time output trigger and TM5m is enabled in IDLE mode. However, the RTBH0 and RTBL0 registers cannot be updated because the CPU is stopped. Stops operation Operation continues Retains status before IDLE mode was set. Refer to 2.2 Pin Status. The CPU registers, statuses, data, and all other internal data such as the contents of the internal RAM are retained as they were before the IDLE mode was set.
DMA Regulator Port function External bus interface Internal data
Note By setting the ADM.ADCS and ADM.ADCS2 bits to 00B before the IDLE mode is set, power consumption can be reduced. Remark m = 0, 1
Preliminary User's Manual U17703EJ1V0UD
705
CHAPTER 23 STANDBY FUNCTION
23.5 STOP Mode
23.5.1 Setting and operation status The STOP mode is set when the PSMR.PSM bit is set to 1 and the PSC.STP bit is set to 1 in the normal operation mode. In the STOP mode, the subclock oscillator continues operating but the main clock oscillator stops. Clock supply to the CPU and the on-chip peripheral functions is stopped. As a result, program execution is stopped, and the contents of the internal RAM before the STOP mode was set are retained. The on-chip peripheral functions that operate with the clock oscillated by the subclock oscillator or an external clock continue operating. Table 23-7 shows the operation status in the STOP mode. Because the STOP stops operation of the main clock oscillator, it reduces the power consumption to a level lower than the IDLE mode. If the subclock oscillator and external clock are not used, the power consumption can be minimized with only leakage current flowing. Caution Insert five or more NOP instructions after the instruction that stores data in the PSC register to set the STOP mode.
706
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 23 STANDBY FUNCTION
23.5.2 Releasing STOP mode The STOP mode is released by a non-maskable interrupt request signal (NMI pin input, INTWDT2 signal (when the CPU is operating on the subclock)), unmasked external interrupt request signal (INTP0 to INTP7 pin input), unmasked internal interrupt request signal from the peripheral functions operable in the STOP mode, or reset (RESET pin input, WDTRES2 signal (when the CPU is operating on the subclock)). After the STOP mode has been released, the normal operation mode is restored after the oscillation stabilization time has been secured. (1) Releasing STOP mode by non-maskable interrupt request signal or unmasked maskable interrupt request signal The STOP mode is released by a non-maskable interrupt request signal or an unmasked maskable interrupt request signal, regardless of the priority of the interrupt request. If the software STOP mode is set in an interrupt servicing routine, however, an interrupt request that is issued later is serviced as follows. (a) If an interrupt request signal with a priority lower than that of the interrupt request currently being serviced is issued, only the STOP mode is released, and that interrupt request signal is not acknowledged. The interrupt request signal itself is retained. (b) If an interrupt request signal with a priority higher than that of the interrupt request currently being serviced is issued (including a non-maskable interrupt request signal), the STOP mode is released and that interrupt request signal is acknowledged. Table 23-6. Operation After Releasing STOP Mode by Interrupt Request Signal
Release Source Non-maskable interrupt request signal Maskable interrupt request signal Interrupt Enabled (EI) Status Execution branches to the handler address Execution branches to the handler address or the next instruction is executed The next instruction is executed Interrupt Disabled (DI) Status
Caution The interrupt request signal that is disabled by setting the PSC.NMI2M, PSC.NMI0M, and PSC.INTM bits to 1 (interrupt disabled) becomes invalid and the STOP mode is not released. (2) Releasing STOP mode by reset The same operation as the normal reset operation is performed.
Preliminary User's Manual U17703EJ1V0UD
707
CHAPTER 23 STANDBY FUNCTION
Table 23-7. Operation Status in STOP Mode
Setting of STOP Mode Item CPU Main clock oscillator Subclock oscillator Interrupt controller Timer P (TMP0) 16-bit timers (TM00 to TM03) Stops operation Stops operation Stops operation TM00, TM02, TM03: Stop operation TM01: Operable when INTWT is selected as count clock and fXT is selected as count clock of WT Operable when TI5m is selected as count clock or when INTTM010 is selected as count clock and TM01 is enabled in STOP mode When CPU Is Operating with Main Clock When Subclock Is Not Used Stops operation Oscillation stops - Oscillation enabled When Subclock Is Used
8-bit timers (TM50, TM51)
Operable when TI5m is selected as count clock
Timer H (TMH0) Timer H (TMH1) Watch timer Watchdog timer 1 Watchdog timer 2 Serial interface CSI00, CSI01 CSIA0, CSIA1 I C0 UART0 UART1, UART2 Key interrupt function A/D converter D/A converter Real-time output
2
Stops operation Stops operation Stops operation Stops operation Stops operation Operable when fXT is selected as count clock Operable when fXT is selected as count clock Operable when fXT is selected as count clock
Operable when SCK0m input clock is selected as operation clock Stops operation Stops operation Operable when ASCK0 is selected as count clock Stops operation Operable Stops operation
Note
Operable However, the DACSm register cannot be updated because the CPU is stopped. Operable when INTTM5m is selected as real-time output trigger and TM5m is enabled in STOP mode. However, the RTBH0 and RTBL0 registers cannot be updated because the CPU is stopped. Stops operation Stops operation Retains status before STOP mode was set. Refer to 2.2 Pin Status. The CPU registers, statuses, data, and all other internal data such as the contents of the internal RAM are retained as they were before the STOP mode was set.
DMA Regulator Port function External bus interface Internal data
Note By setting the ADM.ADCS and ADM.ADCS2 bits to 00B before the STOP mode is set, power consumption can be reduced. Remark m = 0, 1
708
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 23 STANDBY FUNCTION
23.5.3 Securing oscillation stabilization time when STOP mode is released When the STOP mode is released, only the oscillation stabilization time set by the OSTS register elapses. If the STOP mode has been released by reset, however, the reset value of the OSTS register, 215/fX (8.192 ms at fX = 4 MHz) elapses. The operation performed when the STOP mode is released by an interrupt request signal is shown below. Figure 23-2. Oscillation Stabilization Time
Oscillated waveform Main clock
STOP mode status
Interrupt request Main clock oscillator stops Oscillation stabilization time count
Caution For details of the OSTS register, refer to 23.2 (3) register (OSTS).
Oscillation stabilization time selection
Preliminary User's Manual U17703EJ1V0UD
709
CHAPTER 23 STANDBY FUNCTION
23.6 Subclock Operation Mode
23.6.1 Setting and operation status The subclock operation mode is set when the PCC.CK3 bit is set to 1 in the normal operation mode. When the subclock operation mode is set, the internal system clock is changed from the main clock to the subclock. When the PCC.MCK bit is set to 1, the operation of the main clock oscillator is stopped. As a result, the system operates only with the subclock. Table 23-8 shows the operation status in subclock operation mode. In the subclock operation mode, the power consumption can be reduced to a level lower than in the normal operation mode because the subclock is used as the internal system clock. In addition, the power consumption can be further reduced to the level of the STOP mode by stopping the operation of the main clock oscillator. Cautions 1. When manipulating the CK3 bit, do not change the set values of the PCC.CK2 to PCC.CK0 bits (using a bit manipulation instruction to manipulate the bit is recommended). For details, refer to 6.3 (1) Processor clock control register (PCC). 2. If the following conditions are not satisfied, change the CK2 to CK0 bits so that the conditions are satisfied and set the subclock operation mode. Internal system clock (fCLK) > Subclock (fXT: 32.768 kHz) x 4 Remark Internal system clock (fCLK): Clock generated from the main clock (fXX) by setting bits CK2 to CK0
23.6.2 Releasing subclock operation mode The subclock operation mode is released when the CK3 bit is cleared to 0 or by reset (RESET pin input, WDTRES1, WDTRES2 signal). If the main clock is stopped (MCK bit = 1), set the MCK bit to 1, secure the oscillation stabilization time of the main clock by software, and clear the CK3 bit to 0. The normal operation mode is restored when the subclock operation mode is released. Caution When manipulating the CK3 bit, do not change the set values of the CK2 to CK0 bits (using a bit manipulation instruction to manipulate the bit is recommended). For details, refer to 6.3 (1) Processor clock control register (PCC).
710
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 23 STANDBY FUNCTION
Table 23-8. Operation Status in Subclock Operation Mode
Setting of Subclock Operation Item CPU Subclock oscillator Interrupt controller Timer P (TMP0) 16-bit timers (TM00 to TM03) Mode Operation Status When Main Clock Is Oscillating Operable Oscillation enabled Operable Operable Operable Stops operation TM00, TM02, TM03: Stop operation TM01: Operable when INTWT is selected as count clock and fXT is selected as count clock of WT * Operable when TI5m is selected as count clock * Operable when INTTM010 is selected as count clock and when TM01 is enabled in subclock operation mode Stops operation Operable when fXT is selected as count clock Operable when fXT is selected as count clock When Main Clock Is Stopped
8-bit timers (TM50, TM51)
Operable
Timer H (TMH0) Timer H (TMH1) Watch timer Watchdog timer 1 Watchdog timer 2 Serial interface CSI00, CSI01 CSIA0, CSIA1 I C0 UART0 UART1, UART2 Key interrupt function A/D converter D/A converter Real-time output
2
Operable Operable Operable Stops operation Operable Operable Operable Operable Operable Operable Operable Operable Operable Operable
Operable when fXT is selected as count clock Operable when SCK0m input clock is selected as operation clock Stops operation Stops operation Operable when ASCK0 is selected as count clock Stops operation
Stops operation
Operable when INTTM5m is selected as real-time output trigger and TI5m is selected as count clock of TM5m
DMA Regulator Port function External bus interface Internal data
Operable Operation continues Settable Operable Settable
Remark m = 0, 1
Preliminary User's Manual U17703EJ1V0UD
711
CHAPTER 23 STANDBY FUNCTION
23.7 Sub-IDLE Mode
23.7.1 Setting and operation status The sub-IDLE mode is set when the PSMR.PSM bit is cleared to 0 and the PSC.STP bit is set to 1 in the subclock operation mode. In this mode, the clock oscillator continues operation but clock supply to the CPU and the other on-chip peripheral functions is stopped. As a result, program execution is stopped and the contents of the internal RAM before the sub-IDLE mode was set are retained. The CPU and the other on-chip peripheral functions are stopped. However, the on-chip peripheral functions that can operate with the subclock or an external clock continue operating. Table 23-10 shows the operation status in the sub-IDLE mode. Because the sub-IDLE mode stops operation of the CPU and other on-chip peripheral functions, it can reduce the power consumption more than the subclock operation mode. If the sub-IDLE mode is set after the main clock has been stopped, the power consumption can be reduced to a level as low as that in the STOP mode. Caution Following the store instruction to set the PSC register to the sub-IDLE mode, insert five or more NOP instructions.
712
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 23 STANDBY FUNCTION
23.7.2 Releasing sub-IDLE mode The sub-IDLE mode is released by a non-maskable interrupt request signal (NMI pin input, INTWDT2 signal (when the CPU is operating on the subclock)), unmasked external interrupt request signal (INTP0 to INTP7 pin input), unmasked internal interrupt request signal from the peripheral functions operable in the sub-IDLE mode, or reset (RESET pin input, WDTRES2 signal (when the CPU is operating on the subclock)). When the sub-IDLE mode is released by an interrupt request signal, the subclock operation mode is set. If it is released by reset, the normal operation mode is restored. (1) Releasing sub-IDLE mode by non-maskable interrupt request signal or unmasked maskable interrupt request signal The sub-IDLE mode is released by a non-maskable interrupt request signal or an unmasked maskable interrupt request signal, regardless of the priority of the interrupt request. If the sub-IDLE mode is set in an interrupt servicing routine, however, an interrupt request signal that is issued later is serviced as follows. (a) If an interrupt request signal with a priority lower than that of the interrupt request currently being serviced is issued, only the sub-IDLE mode is released, and that interrupt request signal is not acknowledged. The interrupt request signal itself is retained. (b) If an interrupt request signal with a priority higher than that of the interrupt request currently being serviced is issued (including a non-maskable interrupt request signal), the sub-IDLE mode is released and that interrupt request signal is acknowledged. Table 23-9. Operation After Releasing Sub-IDLE Mode by Interrupt Request Signal
Release Source Non-maskable interrupt request signal Maskable interrupt request signal Interrupt Enabled (EI) Status Execution branches to the handler address Execution branches to the handler address or the next instruction is executed The next instruction is executed Interrupt Disabled (DI) Status
Caution The interrupt request signal that is disabled by setting the PSC.NMI2M, PSC.NMI0M, and PSC.INTM bits to 1 (interrupt disabled) becomes invalid and the sub-IDLE mode is not released. (2) Releasing sub-IDLE mode by reset The same operation as the normal reset operation is performed.
Preliminary User's Manual U17703EJ1V0UD
713
CHAPTER 23 STANDBY FUNCTION
Table 23-10. Operation Status in Sub-IDLE Mode
Setting of Sub-IDLE Item CPU Subclock oscillator Interrupt controller Timer P (TMP0) 16-bit timers (TM00 to TM03) Mode Operation Status When Main Clock Is Oscillating Stops operation Oscillation enabled Stops operation Stops operation TM00, TM02, TM03: Stop operation TM01: Operable when INTWT is selected as count clock TM00, TM02, TM03: Stop operation TM01: Operable when INTWT is selected as count clock and fXT is selected as count clock of WT When Main Clock Is Stopped
8-bit timers (TM50, TM51)
* Operable when TI5m is selected as count clock * Operable when INTTM010 is selected as count clock and when TM01 is enabled in sub-IDLE mode Stops operation Operable when fXT is selected as count clock Operable Stops operation Operable when fXT is selected as count clock Operable when fXT is selected as count clock
Timer H (TMH0) Timer H (TMH1) Watch timer Watchdog timer 1 Watchdog timer 2 Serial interface CSI00, CSI01 CSIA0, CSIA1 I C0 UART0 UART1, UART2 Key interrupt function A/D converter D/A converter Real-time output DMA Regulator Port function External bus interface Internal data
2
Operable when SCK0m input clock is selected as operation clock Stops operation Stops operation Operable when ASCK0 is selected as count clock Stops operation Operable Stops operation
Note
Operable However, the DACSm register cannot be updated because the CPU is stopped. Operable when INTTM5m is selected as real-time output trigger and TM5m is set to the operable conditions of the sub-IDLE mode Stops operation Stops operation Retains status before sub-IDLE mode was set. Refer to 2.2 Pin Status. The CPU registers, statuses, data, and all other internal data such as the contents of the internal RAM are retained as they were before the sub-IDLE mode was set.
Note By setting the ADM.ADCS and ADM.ADCS2 bits to 00B before the sub-IDLE mode is set, power consumption can be reduced. Remark m = 0, 1
714
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 24 RESET FUNCTION
24.1 Overview
The following reset functions are available. * Reset function by RESET pin input * Reset function by overflow of watchdog timer 1 (WDTRES1) * Reset function by overflow of watchdog timer 2 (WDTRES2) If the RESET pin goes high, the reset status is released, and the CPU starts executing the program. Initialize the contents of each register in the program as necessary. The RESET pin has a noise eliminator that operates by analog delay to prevent malfunction caused by noise.
24.2 Configuration
Figure 24-1. Reset Block Diagram
RESET
Analog delay circuit Reset signal to CPU WDTRES1 issued due to overflow
Reset signal to CG Reset controller Reset signal to other peripheral macros
Count clock
Watchdog timer 1
Count clock
Watchdog timer 2 WDTRES2 issued due to overflow
Preliminary User's Manual U17703EJ1V0UD
715
CHAPTER 24 RESET FUNCTION
24.3 Operation
The system is reset, initializing each hardware unit, when a low level is input to the RESET pin or if watchdog timer 1 or watchdog timer 2 overflows (WDTRES1 or WDTRES2). While a low level is being input to the RESET pin, the main clock oscillator stops. Therefore, the overall power consumption of the system can be reduced. If the RESET pin goes high or if the WDTRES1 or WDTRES2 signal is received, the reset status is released. If the reset status is released by RESET pin input or the WDTRES2 signal, the oscillation stabilization time elapses (reset value of OSTS register: 215/fXX) and then the CPU starts program execution. If the reset status is released by the WDTRES1 signal, the oscillation stabilization time is not inserted because the main system clock oscillator does not stop.
716
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 24 RESET FUNCTION
Table 24-1. Hardware Status on RESET Pin Input or Occurrence of WDTRES2 Signal
Item Main clock oscillator (fX) Subclock oscillator (fXT) Peripheral clock (fXX to fXX/1024) During Reset Oscillation stops Oscillation continues Operation stops Operation starts after securing oscillation stabilization time Internal system clock (fCLK) Operation stops Operation starts after securing oscillation stabilization time (initialized to fXX/8) CPU clock (fCPU) Operation stops Operation starts after securing oscillation stabilization time (initialized to fXX/8) Watchdog timer 1 clock (fXW) CPU Operation stops Initialized Operation starts Program execution starts after securing oscillation stabilization time Internal RAM Undefined if power-on reset or writing data to RAM (by CPU or DMA) and reset input conflict (data is damaged). Otherwise value immediately before reset input is retained. I/O lines On-chip peripheral I/O registers Watchdog timer 2 High impedance Initialized to specified status Operation stops Operation starts after securing oscillation stabilization time Other on-chip peripheral functions Operation stops Operation can be started after securing oscillation stabilization time After Reset Oscillation starts
Table 24-2. Hardware Status on Occurrence of WDTRES1 Signal
Item Main clock oscillator (fX) Subclock oscillator (fXT) Peripheral clock (fXX to fXX/1024) Internal system clock (fCLK) CPU clock (fCPU) Watchdog timer 1 clock (fXW) Internal RAM During Reset Oscillation continues Oscillation continues Operation stops Oscillation continues (initialized to fXX/8) Oscillation continues (initialized to fXX/8) Operation continues Undefined if writing data to RAM (by CPU or DMA) and reset input conflict (data is damaged). Otherwise value immediately before reset input is retained. I/O lines On-chip peripheral I/O registers Watchdog timer 2 Other on-chip peripheral functions High impedance Initialized to specified status Operation stops Operation stops Operation starts Operation can be started Operation starts After Reset
Preliminary User's Manual U17703EJ1V0UD
717
CHAPTER 24 RESET FUNCTION
Figure 24-2. Hardware Status on RESET Input
fX
fCLK Initialized to fXX/8 operation
RESET
Analog delay (eliminated as noise) Internal system reset signal
Analog delay Analog Analog delay (eliminated as noise) delay
Oscillation stabilization time count
Overflow of timer for oscillation stabilization
Figure 24-3. Operation on Power Application
VDD
fX
fCLK Initialized to fXX/8 operation
RESET Analog delay Internal system reset signal Oscillation stabilization time count
Overflow of timer for oscillation stabilization
718
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 24 RESET FUNCTION
Figure 24-4. Timing of Reset Operation by Watchdog Timer 1
fX
fCLK Initialized to fXX/8 operation WDTRES1 signal (active low) Internal system reset signal (active low) fCLK: 12-clock width
Figure 24-5. Timing of Reset Operation by Watchdog Timer 2
fX
fCLK Initialized to fXX/8 operation WDTRES2 signal (active low)
Analog delay Internal system reset signal (active low) Oscillation stabilization time count
Overflow of oscillation stabilization time counter
Preliminary User's Manual U17703EJ1V0UD
719
CHAPTER 25 REGULATOR
25.1 Overview
The V850ES/KG2 includes a regulator to reduce the power consumption and noise. This regulator supplies a stepped-down VDD power supply voltage to the oscillator block and internal logic circuits (except the A/D converter, D/A converter, and output buffer). The regulator output voltage is set to 3.6 V (TYP.). Caution When using the regulator (REGC = 10 F, the external clock cannot be input to the main clock oscillator or subclock oscillator. Figure 25-1. Regulator
AVREF0
A/D converter 2.7 to 5.5 V D/A converter 2.7 to 5.5 V Flash memory
BVDD I/O buffer 2.7 to 5.5 V BVDD Bidirectional level shifter
AVREF1 VPP VDD REGC
Regulator
Main/sub oscillator
Internal digital circuits 3.6 V (TYP.)
EVDD
EVDD I/O buffer (normal port) 2.7 to 5.5 V
Caution Use the regulator with a setting of VDD = EVDD = AVREF0 = AVREF1 BVDD.
25.2 Operation
The regulator stops operating in the following modes and the supply voltage to the oscillator is VDD (but only when REGC = 10 F). * During reset * In STOP mode * In sub-IDLE mode When using the regulator, be sure to connect a capacitor (10 F) to the REGC pin to stabilize the regulator output. A diagram of the regulator pin connections is shown below.
720
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 25 REGULATOR
Figure 25-2. REGC Pin Connection
(a) When REGC = VDD
VDD Input voltage = 2.7 to 5.5 V REG
REGC
Voltage supply to oscillator/internal logic = 2.7 to 5.5 V
(b) When connecting REGC pin to VSS via a capacitor
VDD Input voltage = 4.0 to 5.5 V REG
REGC
Voltage supply to oscillator/internal logic = 3.6 V
10 F
Preliminary User's Manual U17703EJ1V0UD
721
CHAPTER 26 FLASH MEMORY
Caution
For the electrical specifications related to the flash memory rewriting, refer to CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET).
Flash memory versions are commonly used in the following development environments and mass production applications. For altering software after the V850ES/KG2 is soldered onto the target system. For data adjustment when starting mass production. For differentiating software according to the specification in small scale production of various models. For facilitating inventory management. For updating software after shipment.
26.1 Features
4-byte/1-clock access (when instruction is fetched) Capacity: 256/128 KB Write voltage: Erase/write with a single power supply Rewriting method * Rewriting by communication with dedicated flash programmer via serial interface (on-board/off-board programming) * Rewriting flash memory by user program (self programming) Flash memory write prohibit function supported (security function) Safe rewriting of entire flash memory area by self programming using boot swap function Interrupts can be acknowledged during self programming.
722
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
26.2 Memory Configuration
The 256/128 KB internal flash memory area is divided into 128/64 blocks and can be programmed/erased in block units. All the blocks can also be erased at once. When the boot swap function is used, the physical memory (blocks 0 to 3) located at the addresses of boot area 0 is replaced by the physical memory (blocks 4 to 7) located at the addresses of boot area 1. For details of the boot swap function, refer to 26.5 Rewriting by Self Programming. Figure 26-1. Flash Memory Mapping
003FFFFH Block 127 (2 KB) 003F800H 003F7FFH On-chip peripheral I/O area (4 KB) 3FEC000H 3FEBFFFH Internal RAM area (60 KB) 3FF0000H 3FEFFFFH 3FFFFFFH Block 126 (2 KB) 003F000H 003EFFFH Block 125 (2 KB) 003E800H 003E7FFH
0020000H 001FFFFH Block 63 (2 KB) Use prohibited Block 63 (2 KB) 001F800H 001F7FFH 0004800H 00047FFH Block 8 (2 KB) 1000000H 0FFFFFFH Block 8 (2 KB) 0004000H 0003FFFH Block 7 (2 KB) Block 7 (2 KB) 0003800H 00037FFH Block 6 (2 KB) Block 6 (2 KB) 0003000H 0002FFFH External memory area (14 MB) Block 5 (2 KB) Block 5 (2 KB) 0002800H 00027FFH Block 4 (2 KB) Block 4 (2 KB) 0002000H 0001FFFH 0200000H 01FFFFFH 0100000H 00FFFFFH Block 3 (2 KB) External memory area (1 MB) Use prohibited Block 1 (2 KB) Internal flash memory area (256/128 KB) 0000000H Block 1 (2 KB) 0000800H 00007FFH Block 0 (2 KB) Block 0 (2 KB) 0000000H Block 3 (2 KB) 0001800H 00017FFH Block 2 (2 KB) Block 2 (2 KB) 0001000H 0000FFFH Boot area 0Note (8 KB) Boot area 1Note (8 KB)
Note Boot area 0 (blocks 0 to 3): Boot area Boot area 1 (blocks 4 to 7): Area to be replaced with the boot area by the boot swap function
Preliminary User's Manual U17703EJ1V0UD
723
CHAPTER 26 FLASH MEMORY
26.3 Functional Outline
The internal flash memory of the V850ES/KG2 can be rewritten by using the rewrite function of the dedicated flash programmer, regardless of whether the V850ES/KG2 has already been mounted on the target system or not (onboard/off-board programming). In addition, a security function that prohibits rewriting the user program written to the internal flash memory is also supported, so that the program cannot be changed by an unauthorized person. The rewrite function using the user program (self programming) is ideal for an application where it is assumed that the program is changed after production/shipment of the target system. A boot swap function that rewrites the entire flash memory area safely is also supported. In addition, interrupt servicing is supported during self programming, so that the flash memory can be rewritten under various conditions, such as while communicating with an external device. Table 26-1. Rewrite Method
Rewrite Method On-board programming Functional Outline Flash memory can be rewritten after the device is mounted on the target system, by using a dedicated flash programmer. Flash memory can be rewritten before the device is mounted on the target system, by using a dedicated flash programmer and a dedicated program adapter board (FA series). Self programming Flash memory can be rewritten by executing a user program that has been written to the flash memory in advance by means of on-board/offboard programming. (During self-programming, instructions cannot be fetched from or data access cannot be made to the internal flash memory area. Therefore, the rewrite program must be transferred to the internal RAM or external memory in advance). Normal operation mode Operation Mode Flash memory programming mode
Off-board programming
Remark
The FA series is a product of Naito Densei Machida Mfg. Co., Ltd.
724
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
Table 26-2. Basic Functions
Function Functional Outline Support ( : Supported, x: Not supported) On-Board/Off-Board Programming Block erasure The contents of specified memory blocks are erased. The contents of the entire memory area are erased all at once. Write Writing to specified addresses, and a verify check to see if write level is secured are performed. Verify/checksum Data read from the flash memory is compared with data transferred from the flash programmer. Blank check The erasure status of the entire memory is checked. Security setting Use of the block erase command, chip erase command, and program command can be prohibited. x (Supported only when setting is changed from enable to disable) x (Can be read by user program) x Self Programming
Chip erasure
The following table lists the security functions. The block erase command prohibit, chip erase command prohibit, and program command prohibit functions are enabled by default after shipment, and security can be set by rewriting via on-board/off-board programming. Each security function can be used in combination with the others at the same time. Table 26-3. Security Functions
Function Function Outline Rewriting Operation When Prohibited ( : Executable, x: Not Executable) On-Board/Off-Board Programming Block erase command prohibit Execution of a block erase command on all blocks is prohibited. Setting of prohibition can be initialized by execution of a chip erase command. Execution of block erase and chip erase commands on all the blocks is prohibited. Once prohibition is set, setting of prohibition cannot be initialized because the chip erase command cannot be executed. Program command prohibit Write and block erase commands on all the blocks are prohibited. Setting of prohibition can be initialized by execution of the chip erase command. Block erase command: x Chip erase command: Program command: x Block erase command: x Chip erase command: Program command: Block erase command: x Chip erase command: x Program command: Can always be rewritten regardless of setting of prohibition Self Programming
Chip erase command prohibit
Preliminary User's Manual U17703EJ1V0UD
725
CHAPTER 26 FLASH MEMORY
26.4 Rewriting by Dedicated Flash Programmer
The flash memory can be rewritten by using a dedicated flash programmer after the V850ES/KG2 is mounted on the target system (on-board programming). The flash memory can also be rewritten before the device is mounted on the target system (off-board programming) by using a dedicated program adapter (FA series). 26.4.1 Programming environment The following shows the environment required for writing programs to the flash memory of the V850ES/KG2. Figure 26-2. Environment Required for Writing Programs to Flash Memory
RS-232C
XXXX YYYY
FLMD0 FLMD1
Bxxxxx Cxxxxxx
XXXX XXXXXX
Axxxx
XXX YYY
PG-FP4 (Flash Pro4)
USB Dedicated flash programmer Host machine
XXXXX
STATVE
VDD VSS RESET UART0/CSI00 V850ES/KG2
A host machine is required for controlling the dedicated flash programmer. UART0 or CSI00 is used for the interface between the dedicated flash programmer and the V850ES/KG2 to perform writing, erasing, etc. A dedicated program adapter (FA series) is required for off-board writing. Remark The FA series is a product of Naito Densei Machida Mfg. Co., Ltd.
726
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
26.4.2 Communication mode Communication between the dedicated flash programmer and the V850ES/KG2 is performed by serial communication using the UART0 or CSI00 interfaces of the V850ES/KG2. (1) UART0 Transfer rate: 9,600 to 153,600 bps Figure 26-3. Communication with Dedicated Flash Programmer (UART0)
FLMD0 FLMD1
XXXX YYYY
FLMD0 FLMD1
Bxxxxx Cxxxxxx
STATVE
XXX YYY
XXXXX
XXXX
XXXXXX
Axxxx
VDD GND RESET RxD TxD CLK
VDD VSS RESET TXD0 RXD0 X1 X2 V850ES/KG2
PG-FP4 (Flash Pro4)
Dedicated flash programmer
(2) CSI00 Serial clock: 2.4 kHz to 2.5 MHz (MSB first) Figure 26-4. Communication with Dedicated Flash Programmer (CSI00)
FLMD0 FLMD1
FLMD0 FLMD1
VDD
XXXXXX
VDD VSS RESET SO00 SI00 SCK00 X1 X2 V850ES/KG2
Axxxx
XXXX YYYY
Bxxxxx Cxxxxxx
STATVE
GND RESET
XXX YYY
PG-FP4 (Flash Pro4)
XXXXX
XXXX
Dedicated flash programmer
SI SO SCK CLK
Preliminary User's Manual U17703EJ1V0UD
727
CHAPTER 26 FLASH MEMORY
(3) CSI00 + HS Serial clock: 2.4 kHz to 2.5 MHz (MSB first) Figure 26-5. Communication with Dedicated Flash Programmer (CSI00 + HS)
FLMD0 FLMD1
FLMD0 FLMD1
VDD
XXXX YYYY
VDD VSS RESET SO00 SI00 SCK00 X1 X2 V850ES/KG2
Bxxxxx Cxxxxxx
STATVE
XXXX
XXXXXX
Axxxx
GND RESET SI SO SCK CLK
XXX YYY
PG-FP4 (Flash Pro4)
Dedicated flash programmer
XXXXX
HS
PCM0
The dedicated flash programmer outputs the transfer clock, and the V850ES/KG2 operates as a slave. When the PG-FP4 is used as the dedicated flash programmer, it generates the following signals to the V850ES/KG2. For details, refer to the PG-FP4 User's Manual (U15260E). Table 26-4. Signal Connections of Dedicated Flash Programmer (PG-FP4)
PG-FP4 Signal Name FLMD0 FLMD1 VDD GND
CLK RESET SI/RxD
SO/TxD
SCK HS
V850ES/KG2 Pin Function Pin Name FLMD0 FLMD1 VDD VSS
X1, X2 RESET SO00
SI00
SCK00 PCM0 x x
Processing for Connection UART0 CSI00 CSI00 + HS
I/O Output Output - -
Output Output Input
Output
Output Input
Write enable/disable Write enable/disable VDD voltage generation/voltage monitor Ground
Clock output to V850ES/KG2 Reset signal Receive signal
Transmit signal
Transfer clock Handshake signal for CSI00 + HS communication
Note 1
Note 1
Note 1
x
Note 2
x
Note 2
x
Note 2
x
Notes 1. Wire the pin as shown in Figure 26-6, or connect it to GND on board via a pull-down resistor. 2. Connect these pins to supply a clock from the PG-FP4 (wire as shown in Figure 26-6, or create an oscillator on board and supply the clock). Remark : Must be connected. x: Does not have to be connected.
728
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
Table 26-5. Wiring Between V850ES/KG2 and PG-FP4
Pin Configuration of Flash Programmer (PG-FP4) Signal Name I/O Pin Function Pin Name on FA Board With CSI00-HS Pin Name Pin No. GC SI/RXD Input Receive signal SI P41/SO00/ TXD2 SO/TXD Output Transmit signal SO P40/SI00/ RXD2 SCK CLK Output Output Transfer clock Clock to V850ES/KG2 SCK X1 X2 /RESET FLMD0 FLMD1 Output Input Input Reset signal Write voltage Write voltage /RESET FLMD0 FLMD1 P42/SCK00 24 X1 X2
Note
With CSI00 Pin Name Pin No. GC P41/SO00/ TXD2 23 GF 25
With UART0 Pin Name Pin No. GC P30/TXD0/ TO02 25 GF 27
GF 25
23
22
24
P40/SI00/ RXD2
22
24
P31/RXD0/ INTP7/TO03
26
28
26 14 15 16 10 78
P42/SCK00 24 X1 X2
Note
26 14 15 16 10 78
Not needed Not needed X1 X2
Note
12 13 14 8 76
12 13 14 8 76
12 13 14 8 76
14 15 16 10 78
RESET FLMD0 PDL5/AD5/ FLMD1
RESET FLMD0 PDL5/AD5/ FLMD1
RESET FLMD0 PDL5/AD5/ FLMD1
HS
Input
Handshake signal for CSI00 RESERVE/HS PCM0/ + HS communication WAIT VDD VDD BVDD EVDD AVREF0 AVREF1
61
63
Not needed Not needed Not needed Not needed
VDD
-
VDD voltage generation/ voltage monitor
9 70 34 1 5 11 2 69 33
11 72 36 3 7 13 4 71 35
VDD BVDD EVDD AVREF0 AVREF1 VSS AVSS BVSS EVSS
9 70 34 1 5 11 2 69 33
11 72 36 3 7 13 4 71 35
VDD BVDD EVDD AVREF0 AVREF1 VSS AVSS BVSS EVSS
9 70 34 1 5 11 2 69 33
11 72 36 3 7 13 4 71 35
GND
-
Ground
GND
VSS AVSS BVSS EVSS
Note When using the clock out of the flash programmer, connect CLK of the programmer to X1, and connect its inverse signal to X2. Cautions 1. Be sure to connect the REGC pin in either of the following ways. * Connect to GND via a 10 F capacitor * Directly connect to VDD 2. When connecting the REGC pin to GND via a 10 F capacitor, the clock cannot be supplied from the CLK pin of the flash programmer. Supply the clock by creating an oscillator on the board. Remark GC: 100-pin plastic LQFP (fine pitch) (14 x 14) GF: 100-pin plastic QFP (14 x 20)
Preliminary User's Manual U17703EJ1V0UD
729
CHAPTER 26 FLASH MEMORY
Figure 26-6. Wiring Example of V850ES/KG2 Flash Writing Adapter (FA-100GC-8EU-A) (1/2)
D VD ND G
76 Note 1 70 69 61
D V D ND G
PD70F3731, PD70F3732
34 33 Connect to GND. Connect to VDD.
100 1
2
5
Note 2 Note 3 8 9 10 11 12 13 14
Note 4 26 22 23 24 25
D N G DD V
J1 VDD2 VDD
CLKIN
SI SO SCK X1 X2 /RESET VPP RESERVE/HS
D N G DD V
RFU-3 RFU-2 RFU-1 VDE FLMD1 FLMD0 SI SO
SCK CLKOUT /RESET VPP RESERVE/HS
730
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
Figure 26-6. Wiring Example of V850ES/KG2 Flash Writing Adapter (FA-100GC-8EU-A) (2/2)
Notes 1. Wire the FLMD1 pin as shown in the figure, or connect it to GND on board via a pull-down resistor. 2. Be sure to connect the REGC pin in either of the following ways. * Connect to GND via a 10 F capacitor. * Directly connect to VDD. When connecting the REGC pin to GND via a 10 F capacitor, the clock cannot be supplied from the CLK pin of the flash programmer. Supply the clock by creating an oscillator on the board. 3. The above figure shows an example of wiring when the clock is supplied from the PG-FP4. Be sure to set and connect as follows when the clock is supplied from the PG-FP4. * Set J1 of the flash adapter (FA) to the VDD side. * Connect CLKOUT of FA to CLKIN of FA. * Connect X1 of FA to X1 of the device. * Connect X2 of FA to X2 of the device. If an oscillator is created on the flash adapter and a clock is supplied, the above setting and connections will not necessary. The following shows a circuit example.
X1 X2
4. Corresponding pin when using UART0 Remarks 1. Handle the pins not described above in accordance with the specified handling of unused pins (refer to 2.3 Pin I/O Circuits and Recommended Connection of Unused Pins). When connecting to VDD via a resistor, use of a resistor of 1 k to 10 k is recommended. 2. This adapter is for a 100-pin plastic LQFP (fine pitch) package. 3. This diagram shows the wiring when using a handshake-supporting CSI.
Preliminary User's Manual U17703EJ1V0UD
731
CHAPTER 26 FLASH MEMORY
Figure 26-7. Wiring Example of V850ES/KG2 Flash Writing Adapter (FA-100GC-3BA-A) (1/2)
D VD ND G
78 Note 1 72 71 Connected to GND. Connected to VDD. 63
D VD ND G
PD70F3731, PD70F3732
36 35
1
34
7
Note 2 Note 3 10 11 12 13 14 15 16
Note 4 24 25 26 27 28
D N G DD V
J1 VDD2 VDD
D N G DD V
CLKIN
SI SO SCK X1 X2 /RESET VPP RESERVE/HS RFU-3 RFU-2 RFU-1 VDE FLMD1 FLMD0 SI SO SCK CLKOUT /RESET VPP RESERVE/HS
732
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
Figure 26-7. Wiring Example of V850ES/KG2 Flash Writing Adapter (FA-100GC-3BA-A) (2/2)
Notes 1. Wire the FLMD1 pin as shown in the figure, or connect it to GND on board via a pull-down resistor. 2. Be sure to connect the REGC pin in either of the following ways. * Connect to GND via a 10 F capacitor. * Directly connect to VDD. When connecting the REGC pin to GND via a 10 F capacitor, the clock cannot be supplied from the CLK pin of the flash programmer. Supply the clock by creating an oscillator on the board. 3. The above figure shows an example of wiring when the clock is supplied from the PG-FP4. Be sure to set and connect as follows when the clock is supplied from the PG-FP4. * Set J1 of the flash adapter (FA) to the VDD side. * Connect CLKOUT of FA to CLKIN of FA. * Connect X1 of FA to X1 of the device. * Connect X2 of FA to X2 of the device. If an oscillator is created on the flash adapter and a clock is supplied, the above setting and connections will not necessary. The following shows a circuit example.
X1 X2
4. Corresponding pin when using UART0 Remarks 1. Handle the pins not described above in accordance with the specified handling of unused pins (refer to 2.3 Pin I/O Circuits and Recommended Connection of Unused Pins). When connecting to VDD via a resistor, use of a resistor of 1 k to 10 k is recommended. 2. This adapter is for a 100-pin plastic QFP package. 3. This diagram shows the wiring when using a handshake-supporting CSI.
Preliminary User's Manual U17703EJ1V0UD
733
CHAPTER 26 FLASH MEMORY
26.4.3 Flash memory control The following shows the procedure for manipulating the flash memory. Figure 26-8. Procedure for Manipulating Flash Memory
Start
Supplies FLMD0 pulse
Switch to flash memory programming mode
Select communication system
Manipulate flash memory
End? Yes End
No
734
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
26.4.4 Selection of communication mode In the V850ES/KG2, the communication mode is selected by inputting pulses (12 pulses max.) to the FLMD0 pin after switching to the flash memory programming mode. The FLMD0 pulse is generated by the dedicated flash programmer. The following shows the relationship between the number of pulses and the communication mode. Figure 26-9. Selection of Communication Mode
VDD VDD VSS VDD RESET (input) VSS VDD FLMD1 (input) VSS VDD FLMD0 (input) VSS VDD RXD0 (input) VSS VDD TXD0 (output) VSS Oscillation stabilized Power on Reset released Communication mode selected Flash control command communication (erasure, write, etc.) (Note)
Note The number of clocks is as follows depending on the communication mode.
FLMD0 Pulse 0 8 11 Other Communication Mode UART0 CSI00 CSI00 + HS RFU Remarks Communication rate: 9600 bps (after reset), LSB first V850ES/KG2 performs slave operation, MSB first V850ES/KG2 performs slave operation, MSB first Setting prohibited
Caution
When UART0 is selected, the receive clock is calculated based on the reset command sent from the dedicated flash programmer after receiving the FLMD0 pulse.
Preliminary User's Manual U17703EJ1V0UD
735
CHAPTER 26 FLASH MEMORY
26.4.5 Communication commands The V850ES/KG2 communicates with the dedicated flash programmer by means of commands. The signals sent from the dedicated flash programmer to the V850ES/KG2 are called "commands". The response signals sent from the V850ES/KG2 to the dedicated flash programmer are called "response commands". Figure 26-10. Communication Commands
Command
XXXX YYYY
Bxxxxx Cxxxxxx
XXX YYY
PG-FP4 (Flash Pro4)
XXXXX
STATVE
XXXX
XXXXXX
Axxxx
Response command V850ES/KG2
Dedicated flash programmer
The following shows the commands for flash memory control in the V850ES/KG2. All of these commands are issued from the dedicated flash programmer, and the V850ES/KG2 performs the processing corresponding to the commands. Table 26-6. Flash Memory Control Commands
Classification Command Name CSI00 Blank check Block blank check command Erase Chip erase command Block erase command Support CSI00 + HS UART0 Checks if the contents of the memory in the specified block have been correctly erased. Erases the contents of the entire memory. Erases the contents of the memory of the specified block. Write Write command Writes the specified address range, and executes a contents verify check. Verify Verify command Compares the contents of memory in the specified address range with data transferred from the flash programmer. Checksum command Reads the checksum in the specified address range. System setting, control Silicon signature command Security setting command Disables the chip erase command, block erase command, and write command. Reads silicon signature information. Function
736
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
26.4.6 Pin connection When performing on-board writing, mount a connector on the target system to connect to the dedicated flash programmer. Also, incorporate a function on-board to switch from the normal operation mode to the flash memory programming mode. In the flash memory programming mode, all the pins not used for flash memory programming become the same status as that immediately after reset. Therefore, pin handling is required when the external device does not acknowledge the status immediately after a reset. (1) FLMD0 pin In the normal operation mode, input a voltage of VSS level to the FLMD0 pin. programming mode, supply a write voltage of VDD level to the FLMD0 pin. Because the FLMD0 pin serves as a write protection pin in the self programming mode, a voltage of VDD level must be supplied to the FLMD0 pin via port control, etc., before writing to the flash memory. For details, refer to 26.5.5 (1) FLMD0 pin. Figure 26-11. FLMD0 Pin Connection Example In the flash memory
V850ES/KG2 Dedicated flash programmer connection pin FLMD0
Pull-down resistor (RFLMD0)
Preliminary User's Manual U17703EJ1V0UD
737
CHAPTER 26 FLASH MEMORY
(2) FLMD1 pin When 0 V is input to the FLMD0 pin, the FLMD1 pin does not function. When VDD is supplied to the FLMD0 pin, the flash memory programming mode is entered, so 0 V must be input to the FLMD1 pin. The following shows an example of the connection of the FLMD1 pin. Figure 26-12. FLMD1 Pin Connection Example
V850ES/KG2
FLMD1
Other device
Pull-down resistor (RFLMD1)
Caution
If the VDD signal is input to the FLMD1 pin from another device during on-board writing and immediately after reset, isolate this signal.
Table 26-7. Relationship Between FLMD0 and FLMD1 Pins and Operation Mode When Reset Is Released
FLMD0 0 VDD VDD FLMD1 don't care 0 VDD Operation Mode Normal operation mode Flash memory programming mode Setting prohibited
738
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
(3) Serial interface pin The following shows the pins used by each serial interface. Table 26-8. Pins Used by Serial Interfaces
Serial Interface UART0 CSI00 CSI00 + HS Pins Used TXD0, RXD0 SO00, SI00, SCK00 SO00, SI00, SCK00, PCM0
When connecting a dedicated flash programmer to a serial interface pin that is connected to another device on-board, care should be taken to avoid conflict of signals and malfunction of the other device. (a) Conflict of signals When the dedicated flash programmer (output) is connected to a serial interface pin (input) that is connected to another device (output), a conflict of signals occurs. To avoid the conflict of signals, isolate the connection to the other device or set the other device to the output high-impedance status. Figure 26-13. Conflict of Signals (Serial Interface Input Pin)
V850ES/KG2 Conflict of signals Input pin Other device Output pin Dedicated flash programmer connection pins
In the flash memory programming mode, the signal that the dedicated flash programmer sends out conflicts with signals another device outputs. Therefore, isolate the signals on the other device side.
Preliminary User's Manual U17703EJ1V0UD
739
CHAPTER 26 FLASH MEMORY
(b) Malfunction of other device When the dedicated flash programmer (output or input) is connected to a serial interface pin (input or output) that is connected to another device (input), the signal is output to the other device, causing the device to malfunction. To avoid this, isolate the connection to the other device. Figure 26-14. Malfunction of Other Device
V850ES/KG2 Dedicated flash programmer connection pin Pin Other device Input pin
In the flash memory programming mode, if the signal the V850ES/KG2 outputs affects the other device, isolate the signal on the other device side.
V850ES/KG2 Dedicated flash programmer connection pin Pin Other device Input pin
In the flash memory programming mode, if the signal the dedicated flash programmer outputs affects the other device, isolate the signal on the other device side.
740
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
(4) RESET pin When the reset signals of the dedicated flash programmer are connected to the RESET pin that is connected to the reset signal generator on-board, a conflict of signals occurs. To avoid the conflict of signals, isolate the connection to the reset signal generator. When a reset signal is input from the user system in the flash memory programming mode, the programming operation will not be performed correctly. Therefore, do not input signals other than the reset signals from the dedicated flash programmer. Figure 26-15. Conflict of Signals (RESET Pin)
V850ES/KG2 Conflict of signals RESET Reset signal generator Output pin Dedicated flash programmer connection pin
In the flash memory programming mode, the signal the reset signal generator outputs conflicts with the signal the dedicated flash programmer outputs. Therefore, isolate the signals on the reset signal generator side.
(5) Port pins (including NMI) When the system shifts to the flash memory programming mode, all the pins that are not used for flash memory programming are in the same status as that immediately after reset. If the external device connected to each port does not recognize the status of the port immediately after reset, pins require appropriate processing, such as connecting to VDD via a resistor or connecting to VSS via a resistor. (6) Other signal pins Connect X1, X2, XT1, XT2, and REGC in the same status as that in the normal operation mode. (7) Power supply Supply the same power (VDD, VSS, EVDD, EVSS, AVSS, BVDD, BVSS, AVREF0, AVREF1) as in normal operation mode.
Preliminary User's Manual U17703EJ1V0UD
741
CHAPTER 26 FLASH MEMORY
26.5 Rewriting by Self Programming
26.5.1 Overview The V850ES/KG2 supports a flash macro service that allows the user program to rewrite the internal flash memory by itself. By using this interface and a self programming library that is used to rewrite the flash memory with a user application program, the flash memory can be rewritten by a user application transferred in advance to the internal RAM or external memory. Consequently, the user program can be upgraded and constant data can be rewritten in the field. Figure 26-16. Concept of Self Programming
Application program Self programming library Flash function execution Flash information Flash macro service Erase, write Flash memory
742
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
26.5.2 Features (1) Secure self programming (boot swap function) The V850ES/KG2 supports a boot swap function that can exchange the physical memory (blocks 0 to 3) of boot area 0 with the physical memory (blocks 4 to 7) of boot area 1. By writing the start program to be rewritten to boot area 1 in advance and then swapping the physical memory, the entire area can be safely rewritten even if a power failure occurs during rewriting because the correct user program always exists in boot area 0. Figure 26-17. Rewriting Entire Memory Area (Boot Swap)
Block N
Block N
Block N
Block 8 Block 7 Block 6 Block 5 Block 4 Block 3 Block 2 Block 1 Block 0 Rewriting boot areas 0 and 1
Block 8 Block 7 Block 6 Block 5 Block 4 Block 3 Block 2 Block 1 Block 0
Boot swap
Block 8 Block 7 Block 6 Block 5 Block 4 Block 3 Block 2 Block 1 Block 0
Remark
256 KB products: N = 127 128 KB products: N = 63
(2) Interrupt support Instructions cannot be fetched from the flash memory during self programming. Conventionally, therefore, a user handler written to the flash memory could not be used even if an interrupt occurred. Therefore, in the V850ES/KG2, to use an interrupt during self programming, processing transits to the specific addressNote in the internal RAM. Allocate the jump instruction that transits processing to the user interrupt servicing at the specific addressNote in the internal RAM. Note NMI interrupt: Start address of internal RAM
Maskable interrupt: Start address of internal RAM + 4 addresses
Preliminary User's Manual U17703EJ1V0UD
743
CHAPTER 26 FLASH MEMORY
26.5.3 Standard self programming flow The entire processing to rewrite the flash memory by flash self programming is illustrated below. Figure 26-18. Standard Self Programming Flow
(a) Rewriting at once
Flash memory manipulation
Flash environment initialization processing
(b) Rewriting in block units
Flash memory manipulation
Flash environment initialization processing
Erase processing
* Disable accessing flash area * Disable setting of STOP mode * Disable stopping clock
Erase processing
* Disable accessing flash area * Disable setting of STOP mode * Disable stopping clock
Write processing
Write processing
Internal verify processing
Flash information setting processingNote 1 Boot area swapping processingNote 2 Flash environment end processing
Internal verify processing
All blocks end? Yes
Flash information setting processingNote 1 Boot area swapping processingNote 2 Flash environment end processing
No
End of processing
End of processing
Notes 1. If a security setting is not performed, flash information setting processing does not have to be executed. 2. If boot swap is not used, flash information setting processing and boot area swap processing do not have to be executed.
744
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 26 FLASH MEMORY
26.5.4 Flash functions Table 26-9. Main Flash Function List
Function Name FlashEnv FlashBlockErase FlashWordWrite FlashBlockIVerify FlashBlockBlankCheck FlashFLMDCheck FlashGetInfo FlashSetInfo FlashBootSwap FlashWordRead Outline Initialization of flash control macro Erasure of only specified one block Writing from specified address Internal verification of specified block Blank check of specified block Check of FLMD pin Reading of flash information Setting of flash information Swapping of boot area Reading data from specified address Support
Remark
For details, refer to the V850 Series Flash Memory Self Programming (Single Power Supply Flash Memory) User's Manual. Contact an NEC Electronics sales representative for the above manual.
26.5.5 Pin processing (1) FLMD0 pin The FLMD0 pin is used to set the operation mode when reset is released and to protect the flash memory from being written during self rewriting. It is therefore necessary to keep the voltage applied to the FLMD0 pin at 0 V when reset is released and a normal operation is executed. It is also necessary to apply a voltage of VDD level to the FLMD0 pin during the self programming mode period via port control before the memory is rewritten. When self programming has been completed, the voltage on the FLMD0 pin must be returned to 0 V. Figure 26-19. Mode Change Timing
RESET signal
VDD 0V Self programming mode VDD
FLMD0 pin
0V Normal operation mode Normal operation mode
Caution
Make sure that the FLMD0 pin is at 0 V when reset is released.
Preliminary User's Manual U17703EJ1V0UD
745
CHAPTER 26 FLASH MEMORY
26.5.6 Internal resources used The following table lists the internal resources used for self programming. These internal resources can also be used freely for purposes other than self programming. Table 26-10. Internal Resources Used
Resource Name Entry RAM area (internal RAM/external RAM size: 136 bytes) Stack area (stack size: 600 bytes) Description Routines and parameters used for the flash macro service are located in this area. The entry program and default parameters are copied by calling a library initialization function. An extension of the stack used by the user is used by the library (can be used in both the internal RAM and external RAM). Library code (code size: Approx. 1600 bytes) Application program Program entity of library (can be used anywhere other than the flash memory block to be manipulated). Executed as user application. Calls flash functions. Maskable interrupt Can be used in user application execution status or self programming status. To use this interrupt in the self-programming status, since the processing transits to the address of the internal RAM start address + 4 addresses (3FFB004H), allocate the jump instruction that transits the processing to the user interrupt servicing at the address of the internal RAM start address + 4 addresses (3FFB004H) in advance. NMI interrupt Can be used in user application execution status or self programming status. To use this interrupt in the self-programming status, since the processing transits to the address of the internal RAM start address (3FFB000H), allocate the jump instruction that transits the processing to the user interrupt servicing at the internal RAM start address (3FFB000H) in advance. TM50, TM51 Because TM50 and TM51 are used in the flash macro service, do not use them in the self programming status. When using TM50 and TM51 after self programming, set them again.
Remark
For details, refer to the V850 Series Flash Memory Self Programming (Single Power Supply Flash Memory) User's Manual. Contact an NEC Electronics sales representative for the above manual.
746
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 27 ON-CHIP DEBUG FUNCTION
The V850ES/KG2 is not provided with an on-chip debug function. However, a pseudo on-chip debug function can be realized by using the on-chip debug emulator (MINICUBE) and debug adapter (QB-V850ESKX1H-DA).
27.1 ROM Security Function
27.1.1 Security ID The flash memory versions of the V850ES/KG2 perform authentication using a 10-byte ID code to prevent the contents of the flash memory from being read by an unauthorized person during on-chip debugging by the on-chip debug emulator. Set the ID code in the 10-byte on-chip flash memory area from 0000070H to 0000079H to allow the debugger perform ID authentication. If the IDs match, the security is released and reading flash memory and using the on-chip debug emulator are enabled. * Set the 10-byte ID code to 0000070H to 0000079H. * Bit 7 of 0000079H is the on-chip debug emulator enable flag. (0: Disable, 1: Enable) * When the on-chip debug emulator is started, the debugger requests ID input. When the ID code input on the debugger and the ID code set in 0000070H to 0000079H match, the debugger starts. * Debugging cannot be performed if the on-chip debug emulator enable flag is 0, even if the ID codes match.
0000079H Security ID (10 bytes) 0000070H
0000000H
Caution When the data in the flash memory has been deleted, all the bits are set to 1.
Preliminary User's Manual U17703EJ1V0UD
747
CHAPTER 27 ON-CHIP DEBUG FUNCTION
27.1.2 Setting The following shows how to set the ID code as shown in Table 27-1. When the ID code is set as shown in Table 27-1, the ID code input in the configuration dialog box of the ID850QB is "123456789ABCDEF123D4". Table 27-1. ID Code
Address 0x70 0x71 0x72 0x73 0x74 0x75 0x76 0x77 0x78 0x79 0x12 0x34 0x56 0x78 0x9A 0xBC 0xDE 0XF1 0x23 0xD4 Value
The ID code can be specified for the device file that supports the CA850 Ver. 2.60 or later and the security ID by the PM+ linker option setting.
748
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 27 ON-CHIP DEBUG FUNCTION
[Program example (when using CA850 Ver. 2.60 or later)]
#-------------------------------------# SECURITYID (continue ILGOP .section .word .word .hword Remark "SECURITY_ID" 0x78563412 0xF1DEBC9A 0xD423 handler) --Interrupt handler address 0x70 --0-3 byte code --4-7 byte code --8-9 byte code #--------------------------------------
Add the above program example to the startup files.
27.2 Cautions
(1) If a reset signal is input (from the target system or a reset signal from an internal reset source) during RUN (program execution), the break function may malfunction. (2) Even if the reset signal is masked by the mask function, the I/O buffer (port pin) may be reset if a reset signal is input from a pin. (3) Because a software breakpoint set in the internal flash memory is realized by the ROM correction function, it is made temporarily invalid by target reset or internal reset generated by watchdog timer 2. The breakpoint becomes valid again when a hardware break or forced break occurs, but a software break does not occur until then. (4) Pin reset during a break is masked and the CPU and peripheral I/O are not reset. If pin reset or internal reset is generated as soon as the flash memory is rewritten by DMA or read by the RAM monitor function while the user program is being executed, the CPU and peripheral I/O may not be correctly reset.
Preliminary User's Manual U17703EJ1V0UD
749
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Absolute Maximum Ratings (TA = 25C) (1/2)
Parameter Supply voltage Symbol VDD BVDD EVDD AVREF0 AVREF1 Conditions VDD = EVDD = AVREF0 BVDD VDD VDD = EVDD = AVREF0 VDD = EVDD = AVREF0 AVREF1 VDD (D/A output mode) AVREF1 = AVREF0 = VDD (port mode) VSS AVSS BVSS EVSS Input voltage VI1 VSS = EVSS = BVSS = AVSS VSS = EVSS = BVSS = AVSS VSS = EVSS = BVSS = AVSS VSS = EVSS = BVSS = AVSS P00 to P06, P30 to P35, P38, P39, P40 to P42, P50 to P55, P90 to P915, RESET, FLMD0 VI2 PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT6, PDL0 to PDL15, PDH0 to PDH5 VI3 VI4 VI5 Analog input voltage VIAN P10, P11 P36, P37 X1, X2, XT1, XT2 P70 to P77 -0.3 to AVREF1 + 0.3 -0.3 to +13 -0.3 to VDD + 0.3
Note Note
Ratings -0.3 to +6.5 -0.3 to VDD + 0.3 -0.3 to +6.5 -0.3 to +6.5 -0.3 to VDD + 0.3 -0.3 to +0.3 -0.3 to +0.3 -0.3 to +0.3 -0.3 to +0.3 -0.3 to EVDD + 0.3 -0.3 to BVDD + 0.3
Note Note Note
Unit V V V V V
V V V V V
Note
V
V V V V
-0.3 to AVREF0 + 0.3
Note
Note Be sure not to exceed the absolute maximum ratings (MAX. value) of each supply voltage. Cautions 1. Do not directly connect the output (or I/O) pins of IC products to each other, or to VDD, VCC, and GND. Open-drain pins or open-collector pins, however, can be directly connected to each other. Direct connection of the output pins between an IC product and an external circuit is possible, if the output pins can be set to the high-impedance state and the output timing of the external circuit is designed to avoid output conflict. 2. Product quality may suffer if the absolute maximum rating is exceeded even momentarily for any parameter. That is, the absolute maximum ratings are rated values at which the product is on the verge of suffering physical damage, and therefore the product must be used under conditions that ensure that the absolute maximum ratings are not exceeded. The ratings and conditions indicated for DC characteristics and AC characteristics represent the quality assurance range during normal operation.
750
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Absolute Maximum Ratings (TA = 25C) (2/2)
Parameter Output current, low Symbol IOL Note P36 to P39 P00 to P06, P30 to P39, P40 to P42 P50 to P55, P90 to P915 PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT7 PDL0 to PDL15, PDH0 to PDH5 Output current, high IOH Note P00 to P06, P30 to P35, P40 to P42 P50 to P55, P90 to P915 PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT7 PDL0 to PDL15, PDH0 to PDH5 Operating ambient temperature Storage temperature TA Normal operation mode Flash programming mode Tstg Total of all pins: 70 mA Total of all pins: 70 mA Per pin Total of all pins: -60 mA Total of all pins: -60 mA Conditions Per pin Ratings 20 30 35 35 35 35 -10 -30 -30 -30 -30 -40 to +85 -40 to +85 -40 to +125 Unit mA mA mA mA mA mA mA mA mA mA mA C C C
Note P00 to P06, P10, P11, P30 to P35, P40 to P42, P50 to P55, P90 to P915, PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT6, PDL0 to PDL15, PDH0 to PDH5 Cautions 1. Do not directly connect the output (or I/O) pins of IC products to each other, or to VDD, VCC, and GND. Open-drain pins or open-collector pins, however, can be directly connected to each other. Direct connection of the output pins between an IC product and an external circuit is possible, if the output pins can be set to the high-impedance state and the output timing of the external circuit is designed to avoid output conflict. 2. Product quality may suffer if the absolute maximum rating is exceeded even momentarily for any parameter. That is, the absolute maximum ratings are rated values at which the product is on the verge of suffering physical damage, and therefore the product must be used under conditions that ensure that the absolute maximum ratings are not exceeded. The ratings and conditions indicated for DC characteristics and AC characteristics represent the quality assurance range during normal operation. Capacitance (TA = 25C, VDD = EVDD = AVREF0 = BVDD = AVREF1 = VSS = EVSS = BVSS = AVSS = 0 V)
Parameter Input capacitance I/O capacitance Symbol CI CIO Conditions fX = 1 MHz Unmeasured pins returned to 0 V P70 to P77 Note P36 to P39 MIN. TYP. MAX. 15 15 20 Unit pF pF pF
Note P00 to P06, P10, P11, P30 to P35, P40 to P42, P50 to P55, P90 to P915, PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT6, PDL0 to PDL15, PDH0 to PDH5 Remark fX: Main clock oscillation frequency
Preliminary User's Manual U17703EJ1V0UD
751
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Operating Conditions (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF)
Parameter Internal system clock frequency Symbol fCLK In PLL mode Conditions REGC = VDD = 4.5 to 5.5 V REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V REGC = VDD = 2.7 to 5.5 V In clock-through mode REGC = 10 F, VDD = 4.0 to 5.5 V REGC = VDD = 2.7 to 5.5 V Operating with subclock Note 0.0625 32.768 10 MHz kHz 0.25 0.0625 10 10 MHz MHz MIN. 0.25 0.25 0.25 TYP. MAX. 20 16 16 Unit MHz MHz MHz
Note REGC = VDD = 2.7 to 5.5 V or REGC = 10 F, VDD = 4.0 to 5.5 V Internal System Clock Frequency vs. Supply Voltage
100 When REGC = 10 F
Internal system clock frequency fCLK [MHz]
20.0 16.0 10.0
1.0
0.1 0.032
0.01 2.0 2.5 2.7 3.0 3.5 4.0 4.5 5.0 5.5 6.0 Supply voltage VDD [V]
PLL Characteristics (TA = -40 to +85C, VDD = 2.7 to 5.5 V, VSS = 0 V)
Parameter Input frequency Output frequency Lock time Symbol fX fXX tPLL After VDD reaches 2.7 V (MIN.) Conditions MIN. 2 8 TYP. MAX. 5 20 200 Unit MHz MHz
s
752
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Operating Conditions for EEPROM Emulation (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF)
Parameter Internal system clock frequency Symbol fCLK In PLL mode Conditions REGC = VDD = 4.5 to 5.5 V REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V REGC = VDD = 2.7 to 5.5 V In clock-through mode REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V REGC = VDD = 2.7 to 5.5 V Operating with subclock Notes 1, 2 0.0625 32.768 6 MHz kHz 0.25 0.0625 0.0625 6 10 6 MHz MHz MHz MIN. 0.25 0.25 0.25 TYP. MAX. 16 12 6 Unit MHz MHz MHz
Notes 1. REGC = VDD = 2.7 to 5.5 V or REGC = 10 F, VDD = 4.0 to 5.5 V 2. Do not stop the main clock. Internal System Clock Frequency vs. Supply Voltage
100 When REGC = 10 F
Internal system clock frequency fCLK [MHz]
20.0 16.0 10.0 6.0
1.0
0.1 0.032
0.01 2.0 2.5 2.7 3.0 3.5 4.0 4.5 5.0 5.5 6.0 Supply voltage VDD [V]
Preliminary User's Manual U17703EJ1V0UD
753
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Main Clock Oscillator Characteristics (1) Crystal resonator, ceramic resonator (TA = -40 to +85C, VDD = 2.7 to 5.5 V, VSS = 0 V)
Recommended Circuit Parameter Oscillation frequency (fX)
X1 X2
Note 1
Conditions In PLL mode REGC = VDD = 4.5 to 5.5 V REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V REGC = VDD = 2.7 to 5.5 V In clock through mode REGC = VDD = 2.7 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V OSTS0 = 1
MIN. 2 2 2
TYP.
MAX. 5 4 4
Unit MHz MHz MHz
2 2 2
15
2.5 10 10
MHz MHz MHz
Oscillation stabilization time
Note 2
After reset is released
2 /fX
s
After STOP mode is released
Note 3
s
Notes 1. Indicates only oscillator characteristics. 2. Time required to stabilize the resonator after reset or STOP mode is released. 3. The value differs depending on the OSTS register settings. (2) External clock (TA = -40 to +85C, REGC = VDD = 2.7 to 5.5 V, VSS = 0 V)
Recommended Circuit
X1 X2
Parameter
X1, X2 input frequency (fX)
Note
Conditions In PLL mode REGC = VDD = 4.5 to 5.5 V REGC = VDD = 4.0 to 5.5 V REGC = VDD = 2.7 to 5.5 V
In clock through mode REGC = VDD = 2.7 to 5.5 V
MIN. 2 2 2
2
TYP.
MAX. 5 4 2.5
10
Unit MHz MHz MHz
MHz
External clock
Note The duty ratio of the input waveform must be within 50% 5%. Cautions 1. When using the main clock oscillator, wire as follows in the area enclosed by the broken lines in the above figures to avoid an adverse effect from wiring capacitance. * Keep the wiring length as short as possible. * Do not cross the wiring with the other signal lines. * Do not route the wiring near a signal line through which a high fluctuating current flows. * Always make the ground point of the oscillator capacitor the same potential as VSS. * Do not ground the capacitor to a ground pattern through which a high current flows. * Do not fetch signals from the oscillator. 2. When the main clock is stopped and the device is operating on the subclock, wait until the oscillation stabilization time has been secured by the program before switching back to the main clock. 3. When REGC = 10 F, the supply voltage to the oscillator is the on-chip regulator output (3.6 V (TYP.)). However, the supply voltage to the oscillator is VDD in the following modes. * After reset (except during WDTRES1 and oscillation stabilization time) * In STOP mode * In Sub-IDLE mode
754
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Subclock Oscillator Characteristics (1) Crystal resonator (TA = -40 to +85C, VDD = 2.7 to 5.5 V, VSS = 0 V)
Recommended Circuit Parameter Oscillation
XT1 XT2
Conditions
MIN. 32
TYP. 32.768
MAX. 35
Unit kHz
frequency (fXT)
Note 1
Oscillation stabilization time
Note 2
10
s
Notes 1. Indicates only oscillator characteristics. 2. Time required from when VDD reaches oscillation voltage range (2.7 V (MIN.)) to when the crystal resonator stabilizes. (2) External clock (TA = -40 to +85C, REGC = VDD = 2.7 to 5.5 V, VSS = 0 V)
Recommended Circuit
XT1 XT2
Parameter
Input frequency (fXT)
Note
Conditions
REGC = VDD = 2.7 to 5.5 V
MIN.
32
TYP.
MAX.
35
Unit
kHz
External clock
Note The duty ratio of the input waveform must be within 50% 5%. Cautions 1. When using the subclock oscillator, wire as follows in the area enclosed by the broken lines in the above figures to avoid an adverse effect from wiring capacitance. * Keep the wiring length as short as possible. * Do not cross the wiring with the other signal lines. * Do not route the wiring near a signal line through which a high fluctuating current flows. * Always make the ground point of the oscillator capacitor the same potential as VSS. * Do not ground the capacitor to a ground pattern through which a high current flows. * Do not fetch signals from the oscillator. 2. The subclock oscillator is designed as a low-amplitude circuit for reducing power consumption, and is more prone to malfunction due to noise than the main clock oscillator. Particular care is therefore required with the wiring method when the subclock is used. 3. When REGC = 10 F, the supply voltage to the oscillator is the on-chip regulator output (3.6 V (TYP.)). However, the supply voltage to the oscillator is VDD in the following modes. * After reset (except during WDTRES1 and oscillation stabilization time) * In STOP mode * In Sub-IDLE mode
Preliminary User's Manual U17703EJ1V0UD
755
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
DC Characteristics (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V) (1/4)
Parameter Output current, high Symbol IOH1 Conditions Per pin for P00 to P06, P10, P11, P30 to P35, P40 to P42, P50 to P55, P90 to P915 Total of P00 to P06, P30 to P35, P40 to P42 Total of P50 to P55, P90 to P915 IOH2 EVDD = 4.0 to 5.5 V EVDD = 2.7 to 5.5 V EVDD = 4.0 to 5.5 V EVDD = 2.7 to 5.5 V -30 -15 -30 -15 -5.0 -30 -15 -30 -15 10 mA mA mA mA mA MAX. -5.0 Unit mA
Per pin for PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT6, PDH0 to PDH5, PDL0 to PDL15 Total of PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT6 Total of PDL0 to PDL15, PDH0 to PDH5 BVDD = 4.0 to 5.5 V BVDD = 2.7 to 5.5 V BVDD = 4.0 to 5.5 V BVDD = 2.7 to 5.5 V
mA mA mA mA mA
Output current, low
IOL1
Per pin for P00 to P06, P10, P11, P30 to P35, P40 to P42, P50 to P55, P90 to P915 Per pin for P36 to P39 EVDD = 4.0 to 5.5 V EVDD = 2.7 to 5.5 V Total of P00 to P06, P30 to P37, P40 to P42 Total of P38, P39, P50 to P55, P90 to P915
15 8 30 30 10
mA mA mA mA mA
IOL2
Per pin for PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT6, PDH0 to PDH5, PDL0 to PDL15 Total of PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT6 Total of PDL0 to PDL15, PDH0 to PDH5
30
mA
30
mA
756
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
DC Characteristics (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V) (2/4)
Parameter Input voltage, high Symbol VIH1 VIH2 VIH3 VIH4 VIH5 VIH6 VIH7 Input voltage, low VIL1 VIL2 VIL3 VIL4 VIL5 VIL6 VIL7 Note 1 Note 2 Note 3 P70 to P77 P10, P11 P36, P37 X1, X2, XT1, XT2 Note 1 Note 2 Note 3 P70 to P77 P10, P11
Note 4 Note 4
Conditions
MIN. 0.7EVDD 0.8EVDD 0.7BVDD 0.7AVREF0 0.7AVREF1 0.7EVDD VDD - 0.5 EVSS EVSS BVSS AVSS AVSS EVSS VSS
TYP.
MAX. EVDD EVDD BVDD AVREF0 AVREF1 12
Note 5
Unit V V V V V V V V V V V V V V
VDD 0.3EVDD 0.2EVDD 0.3BVDD 0.3AVREF0 0.3AVREF1 0.3EVDD 0.4
P36, P37 X1, X2, XT1, XT2
Notes 1. P00, P01, P30, P41, P98, P911 and their alternate-function pins. 2. RESET, P02 to P06, P31 to P35, P38, P39, P40, P42, P50 to P55, P90 to P97, P99, P910, P912 to P915 and their alternate-function pins. 3. PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT6, PDL0 to PDL15, PDH0 to PDH5 and their alternate-function pins. 4. When used as port pins, set AVREF1 = AVREF0 = VDD. 5. When an on-chip pull-up resistor is not specified by a mask option. EVDD when a pull-up resistor is specified.
Preliminary User's Manual U17703EJ1V0UD
757
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
DC Characteristics (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V) (3/4)
Parameter Output voltage, high Symbol VOH1 Note 1 Conditions IOH = -2.0 mA, EVDD = 4.0 to 5.5 V Note 2 IOH = -0.1 mA, EVDD = 2.7 to 5.5 V VOH2 Note 3 IOH = -2.0 mA, BVDD = 4.0 to 5.5 V Note 4
Note 5
MIN. EVDD - 1.0 EVDD - 0.5 BVDD - 1.0 BVDD - 0.5 AVREF1 - 1.0 AVREF1 - 0.5 0 0 0 0
TYP.
MAX. EVDD
Unit V
EVDD
V
BVDD
V
IOH = -0.1 mA, BVDD = 2.7 to 5.5 V IOH = -2.0 mA IOH = -0.1 mA
BVDD
V
VOH3
P10, P11
AVREF1 AVREF1 0.8 0.8 0.8 2.0
V V V V V V
Output voltage, low
VOL1 VOL2 VOL3 VOL4
Note 6 Note 8 P10, P11
Note 5
IOL = 2.0 mA IOL = 2.0 mA IOL = 2 mA IOL = 15 mA,
Note 7
Note 7
P36 to P39
EVDD = 4.0 to 5.5 V IOL = 8 mA, EVDD = 3.0 to 5.5 V IOL = 5 mA, EVDD = 2.7 to 5.5 V Input leakage current, high Input leakage current, low Output leakage current, high Output leakage current, low Pull-up resistor ILIH ILIL ILOH ILOL RL VIN = VDD VIN = 0 V VO = VDD VO = 0 V VIN = 0 V 10 30 3.0 -3.0 3.0 -3.0 100 0 1.0 V 0 1.0 V
A A A A
k
Notes 1. Total of P00 to P06, P30 to P35, P40 to P42 and their alternate-function pins: IOH = -30 mA, total of P50 to P55, P90 to P915 and their alternate-function pins: IOH = -30 mA. 2. Total of P00 to P06, P30 to P35, P40 to P42 and their alternate-function pins: IOH = -15 mA, total of P50 to P55, P90 to P915 and their alternate-function pins: IOH = -15 mA. 3. Total of PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT6: IOH = -30 mA, total of PDH0 to PDH5, PDL0 to PDL15 and their alternate-function pins: IOH = -30 mA. 4. Total of PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT6: IOH = -15 mA, total of PDH0 to PDH5, PDL0 to PDL15 and their alternate-function pins: IOH = -15 mA. 5. When used as port pins, set AVREF1 = AVREF0 = VDD. 6. Total of P00 to P06, P30 to P37, P40 to P42 and their alternate-function pins: IOL = 30 mA, total of P38, P39, P50 to P55, P90 to P915 and their alternate-function pins: IOL = 30 mA. 7. Refer to IOL1 for IOL of P36 to P39. 8. Total of PCM0 to PCM3, PCS0, PCS1, PCT0, PCT1, PCT4, PCT6 and their alternate-function pins: IOL = 30 mA, total of PDH0 to PDH5, PDL0 to PDL15 and their alternate-function pins: IOL = 30 mA.
758
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
DC Characteristics (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V) (4/4)
Parameter Supply current
Note 1
Symbol IDD1
Conditions
MIN.
TYP.
Note 2
MAX.
Unit
Normal operation mode (all peripheral functions operating) fXX = 20 MHz (fX = 5 MHz) (in PLL mode) REGC = VDD = 5 V 10% fXX = 16 MHz (fX = 4 MHz) (in PLL mode) VDD = 5 V 10%, REGC = 10 F fXX = 10 MHz (in clock-through mode) REGC = VDD = 3 V 10% 18 37 mA 34 50 mA 55 75 mA
IDD2
HALT mode (all peripheral functions operating) fXX = 20 MHz (fX = 5 MHz) (in PLL mode) REGC = VDD = 5 V 10% fXX = 16 MHz (fX = 4 MHz) (in PLL mode) VDD = 5 V 10%, REGC = 10 F fXX = 10 MHz (in clock-through mode) REGC = VDD = 3 V 10% 10 17 mA 17 31 mA 29 43 mA
IDD3
IDLE mode (watch timer operating) fX = 5 MHz (when PLL mode off) REGC = VDD = 5 V 10% fX = 4 MHz (when PLL mode off) VDD = 5 V 10%, REGC = 10 F fX = 10 MHz (in clock-through mode) REGC = VDD = 3 V 10% 1.5 2.7 mA 1.5 2.7 mA 2.1 3.3 mA
IDD4
Subclock operation mode (fXT = 32.768 kHz) Main oscillation stopped
250
420
A A
IDD5
Sub-IDLE mode (fXT = 32.768 kHz) Watch timer operating, main oscillation stopped
20
75
IDD6
STOP mode Subclock oscillating Subclock stopped (XT1 = VSS, PSMR.XTSTP bit = 1) Flash memory erase/write (TA = -40 to +85C) fXX = 20 MHz (fX = 5 MHz) (in PLL mode) REGC = VDD = 5 V 10% fXX = 16 MHz (fX = 4 MHz) (in PLL mode) VDD = 5 V 10%, REGC = 10 F fXX = 10 MHz (in clock-through mode) REGC = VDD = 3 V 10% 18 37 mA 34 50 mA 55 75 mA 15 0.1 60 30
A A
IDD7
Notes 1. Total current of VDD, EVDD, and BVDD (all ports stopped). AVREF0 and AVREF1 are not included. 2. TYP. value of VDD is as follows. VDD = 5.0 V when VDD = 5 V 10% VDD = 3.0 V when VDD = 3 V 10% Remark fXX: Main clock frequency fX: Main clock oscillation frequency fXT: Subclock frequency
Preliminary User's Manual U17703EJ1V0UD
759
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Data Retention Characteristics STOP Mode (TA = -40 to +85C)
Parameter Data retention voltage STOP release signal input time Symbol VDDDR tDREL Conditions STOP mode MIN. 2.0 0 TYP. MAX. 5.5 Unit V
s
Caution Shifting to STOP mode and restoring from STOP mode must be performed within the rated operating range.
STOP mode setting Operating voltage lower limit VDD
STOP release signal input
VDDDR
tDREL
RESET (input)
STOP mode release interrupt (NMI, etc.) (Released by falling edge)
STOP mode release interrupt (NMI, etc.) (Released by rising edge)
760
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
AC Characteristics
AC Test Input Measurement Points (VDD, AVREF0, EVDD, BVDD)
VDD
VIH
Measurement points
VIH VIL
0V
VIL
AC Test Output Measurement Points
VOH
Measurement points
VOH VOL
VOL
Load Conditions
DUT (Device under measurement)
CL = 50 pF
Caution If the load capacitance exceeds 50 pF due to the circuit configuration, bring the load capacitance of the device to 50 pF or less by inserting a buffer or by some other means.
Preliminary User's Manual U17703EJ1V0UD
761
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
CLKOUT Output Timing (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF)
Parameter Output cycle High-level width Symbol tCYK tWKH <1> <2> VDD = 4.0 to 5.5 V VDD = 2.7 to 5.5 V Low-level width tWKL <3> VDD = 4.0 to 5.5 V VDD = 2.7 to 5.5 V Rise time tKR <4> VDD = 4.0 to 5.5 V VDD = 2.7 to 5.5 V Fall time tKF <5> VDD = 4.0 to 5.5 V VDD = 2.7 to 5.5 V Conditions MIN. 50 ns tCYK/2 - 17 tCYK/2 - 26 tCYK/2 - 17 tCYK/2 - 26 17 26 17 26 MAX. 30.6 s ns ns ns ns ns ns ns ns Unit
Clock Timing
<1> <2> <3>
CLKOUT (output)
<4>
<5>
762
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Bus Timing (1) In multiplex bus mode (a) Read/write cycle (CLKOUT asynchronous) (TA = -40 to +85C, VDD = EVDD = AVREF0 = 4.0 to 5.5 V, 4.0 V BVDD VDD, 4.0 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (1/2)
Parameter Address setup time (to ASTB) Address hold time (from ASTB) Delay time from RD to address float Data input setup time from address Data input setup time from RD Delay time from ASTB to RD, WRm Data input hold time (from RD) Address output time from RD Delay time from RD, WRm to ASTB Delay time from RD to ASTB RD, WRm low-level width ASTB high-level width Data output time from WRm Data output setup time (to WRm) Data output hold time (from WRm) WAIT setup time (to address) tSAST tHSTA tFRDA tSAID tSRID tDSTRDWR tHRDID tDRDA tDRDWRST tDRDST tWRDWRL tWSTH tDWROD tSODWR tHWROD tSAWT1 tSAWT2 WAIT hold time (from address) tHAWT1 tHAWT2 WAIT setup time (to ASTB) tSSTWT1 tSSTWT2 WAIT hold time (from ASTB) tHSTWT1 tHSTWT2 Symbol <6> <7> <8> <9> <10> <11> <12> <13> <14> <15> <16> <17> <18> <19> <20> <21> <22> <23> <24> <25> <26> <27> <28> n1 (n + tAHW)T (1 + n + tAHW)T n1 n1 (0.5 + n + tASW + tAHW)T (1.5 + n + tASW + tAHW)T (1 + tAHW)T - 32 (1 + n + tAHW)T - 32 n1 (1 + n)T - 25 T - 15 (1.5 + tASW + tAHW)T - 45 (1.5 + n + tASW + tAHW)T - 45 (0.5 + tAHW)T - 20 0 (1 + i)T - 16 0.5T - 10 (1.5 + i + tASW)T - 10 (1 + n)T - 10 (1 + i + tASW)T - 25 20 Conditions MIN. (0.5 + tASW)T - 23 (0.5 + tAHW)T - 15 16 (2 + n + tASW + tAHW)T - 40 (1 + n)T - 25 MAX. Unit ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns
Remarks 1. tASW: Number of address setup wait clocks (0 or 1) tAHW: Number of address hold wait clocks (0 or 1) 2. T = 1/fCPU (fCPU: CPU operating clock frequency) 3. n: Number of wait clocks inserted in the bus cycle The sampling timing changes when a programmable wait is inserted. 4. m = 0, 1 5. i: Number of idle states inserted after a read cycle (0 or 1) 6. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
Preliminary User's Manual U17703EJ1V0UD
763
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
(TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (2/2)
Parameter Address setup time (to ASTB) Address hold time (from ASTB) Delay time from RD to address float Data input setup time from address Data input setup time from RD Delay time from ASTB to RD, WRm Data input hold time (from RD) Address output time from RD Delay time from RD, WRm to ASTB Delay time from RD to ASTB RD, WRm low-level width ASTB high-level width Data output time from WRm Data output setup time (to WRm) Data output hold time (from WRm) WAIT setup time (to address) tSAST tHSTA tFRDA tSAID tSRID tDSTRDWR tHRDID tDRDA tDRDWRST tDRDST tWRDWRL tWSTH tDWROD tSODWR tHWROD tSAWT1 tSAWT2 WAIT hold time (from address) tHAWT1 tHAWT2 WAIT setup time (to ASTB) tSSTWT1 tSSTWT2 WAIT hold time (from ASTB) tHSTWT1 tHSTWT2 Symbol <6> <7> <8> <9> <10> <11> <12> <13> <14> <15> <16> <17> <18> <19> <20> <21> <22> <23> <24> <25> <26> <27> <28> n1 (n + tAHW)T (1 + n + tAHW)T n1 n1 (0.5 + n + tASW + tAHW)T (1.5 + n + tASW + tAHW)T (1 + tAHW)T - 60 (1 + n + tAHW)T - 60 n1 (1 + n)T - 40 T - 30 (1.5 + tASW + tAHW)T - 80 (1.5 + n + tASW + tAHW)T - 80 (0.5 + tAHW)T - 35 0 (1 + i)T - 32 0.5T - 20 (1.5 + i + tASW)T - 20 (1 + n)T - 20 (1 + i + tASW)T - 50 35 Conditions MIN. (0.5 + tASW)T - 42 (0.5 + tAHW)T - 30 32 (2 + n + tASW + tAHW)T - 72 (1 + n)T - 40 MAX. Unit ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns
Caution Set the following in accordance with the usage conditions of the CPU operating clock frequency (k = 0 to 3). * 70 ns < 1/fCPU < 84 ns Set an address setup wait (AWC.ASWk bit = 1). * 62.5 ns < 1/fCPU < 70 ns Set an address setup wait (ASWk bit = 1) and address hold wait (AWC.AHWk bit = 1). Remarks 1. tASW: Number of address setup wait clocks (0 or 1) tAHW: Number of address hold wait clocks (0 or 1) 2. T = 1/fCPU (fCPU: CPU operating clock frequency) 3. n: Number of wait clocks inserted in the bus cycle The sampling timing changes when a programmable wait is inserted. 4. m = 0, 1 5. i: Number of idle states inserted after a read cycle (0 or 1) 6. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
764
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Read Cycle (CLKOUT Asynchronous): In Multiplex Bus Mode
T1
T2
TW
T3
CLKOUT (output)
A16 to A21 (output) CS0, CS1 (output) <9>
AD0 to AD15 (I/O)
Address
Hi-Z
Data
<6>
<7> <12>
ASTB (output) <17> <14> <11> <8> <10> <13> <15> RD (output) <16> <25> <27> <26> <28>
WAIT (input) <21> <23> <22> <24>
Remark WR0 and WR1 are high level.
Preliminary User's Manual U17703EJ1V0UD
765
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Write Cycle (CLKOUT Asynchronous): In Multiplex Bus Mode
T1
T2
TW
T3
CLKOUT (output)
A16 to A21 (output) CS0, CS1 (output)
AD0 to AD15 (I/O)
Address
Data
<6>
<7>
ASTB (output)
<17> <18> <11> <19> <14> <20>
WR0 (output), WR1 (output) <16> <25> <27> <26> <28>
WAIT (input) <21> <23> <22> <24>
Remark
RD is high level.
766
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
(b) Read/write cycle (CLKOUT synchronous): In multiplex bus mode (TA = -40 to +85C, VDD = EVDD = AVREF0 = 4.0 to 5.5 V, 4.0 V BVDD VDD, 4.0 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (1/2)
Parameter Delay time from CLKOUT to address Delay time from CLKOUT to address float Delay time from CLKOUT to ASTB Delay time from CLKOUT to RD, WRm Data input setup time (to CLKOUT) Data input hold time (from CLKOUT) Data output delay time from CLKOUT WAIT setup time (to CLKOUT) WAIT hold time (from CLKOUT) tDKST tDKRDWR tSIDK tHKID tDKOD tSWTK tHKWT <31> <32> <33> <34> <35> <36> <37> 15 0 0 -22 15 0 19 23 0 ns ns ns ns ns ns ns tDKA tFKA Symbol <29> <30> Conditions MIN. 0 0 MAX. 19 14 Unit ns ns
Remarks 1. m = 0, 1 2. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1. (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (2/2)
Parameter Delay time from CLKOUT to address Delay time from CLKOUT to address float Delay time from CLKOUT to ASTB Delay time from CLKOUT to RD, WRm Data input setup time (to CLKOUT) Data input hold time (from CLKOUT) Data output delay time from CLKOUT WAIT setup time (to CLKOUT) WAIT hold time (from CLKOUT) tDKST tDKRDWR tSIDK tHKID tDKOD tSWTK tHKWT <31> <32> <33> <34> <35> <36> <37> 25 0 0 -22 30 0 19 55 0 ns ns ns ns ns ns ns tDKA tFKA Symbol <29> <30> Conditions MIN. 0 0 MAX. 19 18 Unit ns ns
Remarks 1. m = 0, 1 2. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
Preliminary User's Manual U17703EJ1V0UD
767
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Read Cycle (CLKOUT Synchronous): In Multiplex Bus Mode
T1
T2
TW
T3
CLKOUT (output) <29>
A16 to A21 (output) CS0, CS1 (output) <33> <30> Hi-Z <34>
AD0 to AD15 (I/O)
Address
Data <31>
<31> ASTB (output) <32> <32>
RD (output)
WAIT (input) <36> <37> <36> <37>
Remark
WR0 and WR1 are high level.
768
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Write Cycle (CLKOUT Synchronous): In Multiplex Bus Mode
T1
T2
TW
T3
CLKOUT (output) <29>
A16 to A21 (output) CS0, CS1 (output) <35> AD0 to AD15 (I/O) Address <31> Data <31>
ASTB (output)
WR0 (output), WR1 (output) <32> <32>
WAIT (input) <36> <37> <36> <37>
Remark
RD is high level.
Preliminary User's Manual U17703EJ1V0UD
769
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
(2) In separate bus mode (a) Read cycle (CLKOUT asynchronous): In separate bus mode (TA = -40 to +85C, VDD = EVDD = AVREF0 = 4.0 to 5.5 V, 4.0 V BVDD VDD, 4.0 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (1/2)
Parameter Address setup time (to RD) Address hold time (from RD) RD low-level width Data setup time (to RD) Data hold time (from RD) Data setup time (to address) WAIT setup time (to RD) tSARD tHARD tWRDL tSISD tHISD tSAID tSRDWT1 tSRDWT2 WAIT hold time (from RD) tHRDWT1 tHRDWT2 WAIT setup time (to address) tSAWT1 tSAWT2 WAIT hold time (from address) tHAWT1 tHAWT2 Symbol <38> <39> <40> <41> <42> <43> <44> <45> <46> <47> <48> <49> <50> <51> n1 (n + tASW + tAHW)T (1 + n + tASW + tAHW)T n1 n1 (n - 0.5 + tAHW)T (n + 0.5 + tAHW)T (1 + tASW + tAHW)T - 65 (1 + n + tASW + tAHW)T - 65 n1 Conditions MIN. (0.5 + tASW)T - 50 iT - 13 (1.5 + n + tAHW)T - 15 30 0 (2 + n + tASW + tAHW)T - 65 (0.5 + tAHW)T - 32 (0.5 + n + tAHW)T - 32 MAX. Unit ns ns ns ns ns ns ns ns ns ns ns ns ns ns
Caution Set the following in accordance with the usage conditions of the CPU operating clock frequency (k = 0 to 3). * 1/fCPU < 100 ns Set an address setup wait (ASWk bit = 1). Remarks 1. tASW: Number of address setup wait clocks (0 or 1) tAHW: Number of address hold wait clocks (0 or 1) 2. T = 1/fCPU (fCPU: CPU operating clock frequency) 3. n: Number of wait clocks inserted in the bus cycle The sampling timing changes when a programmable wait is inserted 4. i: Number of idle states inserted after a read cycle (0 or 1) 5. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
770
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
(TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (2/2)
Parameter Address setup time (to RD) Address hold time (from RD) RD low-level width Data setup time (to RD) Data hold time (from RD) Data setup time (to address) WAIT setup time (to RD) Symbol tSARD tHARD tWRDL tSISD tHISD tSAID tSRDWT1 tSRDWT2 WAIT hold time (from RD) tHRDWT1 tHRDWT2 WAIT setup time (to address) tSAWT1 tSAWT2 WAIT hold time (from address) tHAWT1 tHAWT2 <38> <39> <40> <41> <42> <43> <44> <45> <46> <47> <48> <49> <50> <51> n1 (n + tASW + tAHW)T (1 + n + tASW + tAHW)T n1 n1 (n - 0.5 + tAHW)T (n + 0.5 + tAHW)T (1 + tASW + tAHW)T - 130 (1 + n + tASW + tAHW)T - 130 n1 Conditions MIN. (0.5 + tASW)T - 100 iT - 26 (1.5 + n + tAHW)T - 30 60 0 (2 + n + tASW + tAHW)T - 120 (0.5 + tAHW)T - 50 (0.5 + n + tAHW)T - 50 MAX. Unit ns ns ns ns ns ns ns ns ns ns ns ns ns ns
Caution Set the following in accordance with the usage conditions of the CPU operating clock frequency (k = 0 to 3). * 1/fCPU < 200 ns Set an address setup wait (ASWk bit = 1). Remarks 1. tASW: Number of address setup wait clocks (0 or 1) tAHW: Number of address hold wait clocks (0 or 1) 2. T = 1/fCPU (fCPU: CPU operating clock frequency) 3. n: Number of wait clocks inserted in the bus cycle The sampling timing changes when a programmable wait is inserted. 4. i: Number of idle states inserted after a read cycle (0 or 1) 5. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
Preliminary User's Manual U17703EJ1V0UD
771
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Read Cycle (CLKOUT Asynchronous): In Separate Bus Mode
T1
TW
T2
CLKOUT (output)
CS0, CS1 (output) A0 to A21 (output) <39> <43> AD0 to AD15 (I/O) Hi-Z <42> <41> <40> RD (output) <47> <45> <46> <44> WAIT (input) <48> <50> <49> <51> Hi-Z
<38>
Remark
WR0 and WR1 are high level.
772
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
(b) Write cycle (CLKOUT asynchronous): In separate bus mode (TA = -40 to +85C, VDD = EVDD = AVREF0 = 4.0 to 5.5 V, 4.0 V BVDD VDD, 4.0 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (1/2)
Parameter Address setup time (to WRm) Address hold time (from WRm) WRm low-level width Delay time from WRm to data output Data setup time (to WRm) Data hold time (from WRm) Data setup time (to address) WAIT setup time (to WRm) Symbol tSAWR tHAWR tWWRL tDOSDW tSOSDW tHOSDW tSAOD tSWRWT1 tSWRWT2 WAIT hold time (from WRm) tHWRWT1 tHWRWT2 WAIT setup time (to address) tSAWT1 tSAWT2 WAIT hold time (from address) tHAWT1 tHAWT2 <52> <53> <54> <55> <56> <57> <58> <59> <60> <61> <62> <63> <64> <65> <66> n1 (n + tASW + tAHW)T (1 + n + tASW + tAHW)T n1 n1 0 nT (1 + tASW + tAHW)T - 45 (1 + n + tASW + tAHW)T - 45 n1 Conditions MIN. (1 + tASW + tAHW)T - 60 0.5T - 10 (0.5 + n)T - 10 -5 (0.5 + n)T - 20 0.5T - 20 (1 + tASW + tAHW)T - 30 30 nT - 30 MAX. Unit ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns
Caution Set the following in accordance with the usage conditions of the CPU operating clock frequency (k = 0 to 3). * 1/fCPU < 60 ns Set an address setup wait (ASWk bit = 1). Remarks 1. m = 0, 1 2. tASW: Number of address setup wait clocks (0 or 1) tAHW: Number of address hold wait clocks (0 or 1) 3. T = 1/fCPU (fCPU: CPU operating clock frequency) 4. n: Number of wait clocks inserted in the bus cycle The sampling timing changes when a programmable wait is inserted. 5. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
Preliminary User's Manual U17703EJ1V0UD
773
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
(TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (2/2)
Parameter Address setup time (to WRm) Address hold time (from WRm) WRm low-level width Delay time from WRm to data output Data setup time (to WRm) Data hold time (from WRm) Data setup time (to address) WAIT setup time (to WRm) Symbol tSAWR tHAWR tWWRL tDOSDW tSOSDW tHOSDW tSAOD tSWRWT1 tSWRWT2 WAIT hold time (from WRm) tHWRWT1 tHWRWT2 WAIT setup time (to address) tSAWT1 tSAWT2 WAIT hold time (from address) tHAWT1 tHAWT2 <52> <53> <54> <55> <56> <57> <58> <59> <60> <61> <62> <63> <64> <65> <66> n1 (n + tASW + tAHW)T (1 + n + tASW + tAHW)T n1 n1 0 nT (1 + tASW + tAHW)T - 100 (1 + n + tASW + tAHW)T - 100 n1 Conditions MIN. (1 + tASW + tAHW)T - 100 0.5T - 10 (0.5 + n)T - 10 -5 (0.5 + n)T - 35 0.5T - 35 (1 + tASW + tAHW)T - 55 50 nT - 50 MAX. Unit ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns
Caution Set the following in accordance with the usage conditions of the CPU operating clock frequency (k = 0 to 3). * 1/fCPU < 100 ns Set an address setup wait (ASWk bit = 1). Remarks 1. m = 0, 1 2. tASW: Number of address setup wait clocks (0 or 1) tAHW: Number of address hold wait clocks (0 or 1) 3. T = 1/fCPU (fCPU: CPU operating clock frequency) 4. n: Number of wait clocks inserted in the bus cycle The sampling timing changes when a programmable wait is inserted. 5. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
774
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Write Cycle (CLKOUT Asynchronous): In Separate Bus Mode
T1
TW
T2
CLKOUT (output)
CS0, CS1 (output) A0 to A21 (output) <53> <58> AD0 to AD15 (I/O) Hi-Z <55> <52> <57> <56> <54> WR0, WR1 (output) <62> <60> <59> <61> WAIT (input) <63> <65> <64> <66> Hi-Z
Remark
RD is high level.
Preliminary User's Manual U17703EJ1V0UD
775
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
(c) Read cycle (CLKOUT synchronous): In separate bus mode (TA = -40 to +85C, VDD = EVDD = AVREF0 = 4.0 to 5.5 V, 4.0 V BVDD VDD, 4.0 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (1/2)
Parameter Delay time from CLKOUT to address, CS Data input setup time (to CLKOUT) Data input hold time (from CLKOUT) Delay time from CLKOUT to RD WAIT setup time (to CLKOUT) WAIT hold time (from CLKOUT) tSISDK tHKISD tDKSR tSWTK tHKWT <68> <69> <70> <71> <72> 15 0 0 20 0 6 ns ns ns ns ns Symbol tDKSA <67> Conditions MIN. 0 MAX. 35 Unit ns
Remark The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
(TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (2/2)
Parameter Delay time from CLKOUT to address, CS Data input setup time (to CLKOUT) Data input hold time (from CLKOUT) Delay time from CLKOUT to RD WAIT setup time (to CLKOUT) WAIT hold time (from CLKOUT) tSISDK tHKISD tDKSR tSWTK tHKWT <68> <69> <70> <71> <72> 30 0 0 40 0 10 ns ns ns ns ns Symbol tDKSA <67> Conditions MIN. 0 MAX. 65 Unit ns
Remark The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
776
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Read Cycle (CLKOUT Synchronous, 1 Wait): In Separate Bus Mode
T1
TW
T2
CLKOUT (output) <67>
<67> CS0, CS1 (output) A0 to A21 (output) <68> Hi-Z
<69> Hi-Z <70>
AD0 to AD15 (I/O)
<70>
RD (output) <71> <72> <71> <72>
WAIT (input)
Remark WR0 and WR1 are high level.
Preliminary User's Manual U17703EJ1V0UD
777
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
(d) Write cycle (CLKOUT synchronous): In separate bus mode (TA = -40 to +85C, VDD = EVDD = AVREF0 = 4.0 to 5.5 V, 4.0 V BVDD VDD, 4.0 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (1/2)
Parameter Delay time from CLKOUT to address, CS Data output delay time from CLKOUT Delay time from CLKOUT to WRm WAIT setup time (to CLKOUT) WAIT hold time (from CLKOUT) tDKSW tSWTK tHKWT <75> <76> <77> 0 20 0 10 ns ns ns tDKSD <74> 0 10 ns Symbol tDKSA <73> Conditions MIN. 0 MAX. 35 Unit ns
Remarks 1. m = 0, 1 2. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1. (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (2/2)
Parameter Delay time from CLKOUT to address, CS Data output delay time from CLKOUT Delay time from CLKOUT to WRm WAIT setup time (to CLKOUT) WAIT hold time (from CLKOUT) tDKSW tSWTK tHKWT <75> <76> <77> 0 40 0 15 ns ns ns tDKSD <74> 0 15 ns Symbol tDKSA <73> Conditions MIN. 0 MAX. 65 Unit ns
Remarks 1. m = 0, 1 2. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
778
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Write Cycle (CLKOUT Synchronous): In Separate Bus Mode
T1
TW
T2
CLKOUT (output) <73> <73>
CS0, CS1 (output) A0 to A21 (output) <74> Hi-Z <74> Hi-Z
AD0 to AD15 (I/O)
<75>
<75>
WR0, WR1 (output)
<76>
<77>
<76>
<77>
WAIT (input)
Remark
RD is high level.
Preliminary User's Manual U17703EJ1V0UD
779
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
(3) Bus hold (a) CLKOUT asynchronous (TA = -40 to +85C, VDD = EVDD = AVREF0 = 4.0 to 5.5 V, 4.0 V BVDD VDD, 4.0 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (1/2)
Parameter HLDRQ high-level width HLDAK low-level width Delay time from HLDAK to bus output Delay time from HLDRQ to HLDAK Delay time from HLDRQ to HLDAK tWHQH tWHAL tDHAC tDHQHA1 tDHQHA2 Symbol <78> <79> <80> <81> <82> 0.5T Conditions MIN. T + 10 T - 15 -40 (2n + 7.5)T + 40 1.5T + 40 MAX. Unit ns ns ns ns ns
Remarks 1. T = 1/fCPU (fCPU: CPU operating clock frequency) 2. n: Number of wait clocks inserted in the bus cycle The sampling timing changes when a programmable wait is inserted. 3. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1. (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (2/2)
Parameter HLDRQ high-level width HLDAK low-level width Delay time from HLDAK to bus output Delay time from HLDRQ to HLDAK Delay time from HLDRQ to HLDAK tWHQH tWHAL tDHAC tDHQHA1 tDHQHA2 Symbol <78> <79> <80> <81> <82> 0.5T Conditions MIN. T + 10 T - 15 -80 (2n + 7.5)T + 70 1.5T + 70 MAX. Unit ns ns ns ns ns
Remarks 1. T = 1/fCPU (fCPU: CPU operating clock frequency) 2. n: Number of wait clocks inserted in the bus cycle The sampling timing changes when a programmable wait is inserted. 3. The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
780
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Bus Hold (CLKOUT Asynchronous)
TI CLKOUT (output)
TH
TH
TH
TI
<78> HLDRQ (input)
<81>
<82>
HLDAK (output) <79> Address bus (output) Data bus (I/O) Hi-Z <80>
CS0, CS1 (output)
Hi-Z
ASTB (output)
Hi-Z
RD (output), WR0 (output), WR1 (output)
Hi-Z
Preliminary User's Manual U17703EJ1V0UD
781
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
(b) CLKOUT synchronous (TA = -40 to +85C, VDD = EVDD = AVREF0 = 4.0 to 5.5 V, 4.0 V BVDD VDD, 4.0 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (1/2)
Parameter HLDRQ setup time (to CLKOUT) HLDRQ hold time (from CLKOUT) Delay time from CLKOUT to bus float Delay time from CLKOUT to HLDAK tSHQK tHKHQ tDKF tDKHA Symbol <83> <84> <85> <86> Conditions MIN. 15 0 20 20 MAX. Unit ns ns ns ns
Remark
The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
(TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (2/2)
Parameter HLDRQ setup time (to CLKOUT) HLDRQ hold time (from CLKOUT) Delay time from CLKOUT to bus float Delay time from CLKOUT to HLDAK tSHQK tHKHQ tDKF tDKHA Symbol <83> <84> <85> <86> Conditions MIN. 25 0 40 40 MAX. Unit ns ns ns ns
Remark
The values in the above specifications are values for when clocks with a 1:1 duty ratio are input from X1.
782
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Bus Hold (CLKOUT Synchronous)
T2 CLKOUT (output)
T3
TI
TH
TH
TH
TI
<83> <84>
<83>
HLDRQ (input)
<86>
<86>
HLDAK (output)
<85> Address bus (output) Data bus (I/O) Hi-Z
CS0, CS1 (output)
Hi-Z
ASTB (output)
Hi-Z
RD (output), WR0 (output), WR1 (output)
Hi-Z
Preliminary User's Manual U17703EJ1V0UD
783
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Basic Operation
(1) Reset/external interrupt timing (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF)
Parameter RESET low-level width Symbol tWRSL1 tWRSL2 <87> <88> Conditions Reset in power-on status Power-on reset when REGC = VDD Note tVR > 150 s tVR 150 s NMI high-level width NMI low-level width INTPn high-level width tWNIH tWNIL tWITH <89> <90> <91> Analog noise elimination Analog noise elimination n = 0 to 7 (analog noise elimination) n = 3 (when digital noise elimination selected) INTPn low-level width tWITL <92> n = 0 to 7 (analog noise elimination) n = 3 (when digital noise elimination selected) ADTRG high-level width tWADH <93> REGC = VDD = 4.0 to 5.5 V VDD = 4.0 to 5.5 V, REGC = 10 F REGC = VDD = 2.7 to 5.5 V ADTRG low-level width tWADL <94> REGC = VDD = 4.0 to 5.5 V VDD = 4.0 to 5.5 V, REGC = 10 F REGC = VDD = 2.7 to 5.5 V MIN. 2 2 10 40 1 1 600 Ni x tISMP + 200 600 Ni x tISMP + 200 T + 50 T + 100 T + 100 T + 50 T + 100 T + 100 MAX. Unit
s s s s s s
ns ns ns ns ns ns ns ns ns ns
Note Power-on reset when REGC = 10 F Remarks 1. tVR: Ni: T: Time required for VDD to rise from 0 V to 4.0 V (= operation lower-limit voltage) Number of samplings set with the NFC.NFSTS bit A/D base clock cycle (fAD)
tISMP: Digital noise elimination sampling clock cycle of INTP3 pin 2. The above specification shows the pulse width that is accurately detected as a valid edge. If a pulse narrower than the above specification is input, therefore, it may also be detected as a valid edge.
784
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Reset/Interrupt
VDD tVR RESET (input) <88> <87>
<89>/<91>/<93> NMI (input) INTPn (input) ADTRG (input)
<90>/<92>/<94>
Remark n = 0 to 7
Preliminary User's Manual U17703EJ1V0UD
785
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Timer Timing (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF)
Parameter TI0n high-level width Symbol tTI0H <95> Conditions REGC = VDD = 4.5 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V TI0n low-level width tTI0L <96> REGC = VDD = 4.5 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V TI5m high-level width tTI5H <97> REGC = VDD = 4.5 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V TI5m low-level width tTI5L <98> REGC = VDD = 4.5 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V TIP0m high-level width tTIPH <99> REGC = VDD = 4.5 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V TIP0m low-level width tTIPL <100> REGC = VDD = 4.5 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V np x Tsmpp + 100 np x Tsmpp + 200
Note 2
MIN. 2Tsmp0 + 100 2Tsmp0 + 200
Note 1
MAX.
Unit ns ns
Note 1
2Tsmp0 + 100 2Tsmp0 + 200
Note 1
ns ns
Note 1
50 100
ns ns
50 100 np x Tsmpp + 100 np x Tsmpp + 200
Note 2
ns ns
ns ns
Note 2
ns ns
Note 2
Notes 1. Tsmp0: Timer 0 count clock cycle However, Tsmp0 = 4/fXX when TI0n is used as an external clock. 2. np: Number of sampling clocks set by the PmNFC.PmNFSTS bit Tsmpp: Digital noise elimination sampling clock cycle of TIP0m pin If TIP00 is used as an external clock or an external clear, however, Tsmpp = 0 (digital noise is not eliminated). Remarks 1. n = 00, 01, 10, 11, 20, 21, 30, 31 m = 0, 1 2. The above specification shows the pulse width that is accurately detected as a valid edge. If a pulse narrower than the above specification is input, therefore, it may also be detected as a valid edge. Timer Input Timing
<95>/<97>/<99> TI0n (input) TI5m (input) TIP0m (input) <96>/<98>/<100>
Remark
n = 00, 01, 10, 11, 20, 21, 30, 31 m = 0, 1
786
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
UART Timing (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF)
Parameter Transmit rate ASCK0 frequency REGC = VDD = 4.5 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V Symbol Conditions MIN. MAX. 312.5 12 6 Unit kbps MHz MHz
Preliminary User's Manual U17703EJ1V0UD
787
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
CSI0 Timing
(1) Master mode (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF)
Parameter SCK0n cycle time tKCY1 Symbol <101> Conditions REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V SCK0n high-/low-level width SI0n setup time (to SCK0n) tKH1, tKL1 tSIK1 <102> <103> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V SI0n hold time (from SCK0n) tKSI1 <104> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V Delay time from SCK0n to SO0n output tKSO1 <105> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V 30 60 ns ns 30 50 ns ns tKCY1/2 - 30 30 50 ns ns ns MIN. 200 400 MAX. Unit ns ns
Remark n = 0, 1 (2) Slave mode (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF)
Parameter SCK0n cycle time tKCY2 Symbol <101> Conditions REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V SCK0n high-/low-level width tKH2, tKL2 <102> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V SI0n setup time (to SCK0n) tSIK2 <103> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V SI0n hold time (from SCK0n) tKSI2 <104> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V Delay time from SCK0n to SO0n output tKSO2 <105> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V 50 100 ns ns 30 60 ns ns 30 60 ns ns 45 90 ns ns MIN. 200 400 MAX. Unit ns ns
Remark n = 0, 1
788
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
(a) CSICn.CKPn, DAPn bits = 00 or 11
<101> <102> SCK0n (I/O) <102>
<103> <104> Hi-Z SI0n (input)
Input data
Hi-Z
<105>
SO0n (output)
Output data
(b) CSICn.CKPn, DAPn bits = 01 or 10
<101> <102> SCK0n (I/O) <102>
<103> <104> Hi-Z SI0n (input)
Input data
Hi-Z
<105>
SO0n (output)
Output data
Remark
n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
789
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
CSIA Timing
(1) Master mode (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF)
Parameter SCKAn cycle time tKCY3 Symbol <106> Conditions REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V SCKAn high-/low-level width tKH3, tKL3 SIAn setup time (to SCKAn) tSIK3 <108> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V SIAn hold time (from SCKAn) tKSI3 <109> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V Delay time from SCKAn to SOAn output tKSO3 <110> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V 30 60 ns ns 30 60 ns ns 30 60 ns ns <107> tKCY3/2 - 30 ns MIN. 500 1000 MAX. Unit ns ns
Remark n = 0, 1 (2) Slave mode (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF)
Parameter SCKAn cycle time tKCY4 Symbol <106> Conditions REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V SCKAn high-/low-level width SIAn setup time (to SCKAn) tKH4, tKL4 tSIK4 <107> <108> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V SIAn hold time (from SCKAn) tKSI4 <109> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V Delay time from SCKAn to SOAn output tKSO4 <110> REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V, REGC = VDD = 2.7 to 5.5 V tCY x 2 + 30 tCY x 2 + 60
Note
MIN. 840 1700 tKCY4/2 - 30 50 100 tCY x 2 + 15 tCY x 2 + 30
Note
MAX.
Unit ns ns
ns ns ns
ns ns
Note
ns ns
Note
Note tCY: fSCKA cycle Remark n = 0, 1
790
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
<106> <107> SCKAn (I/O) <107>
<108> <109> Hi-Z SIAn (input)
Input data
Hi-Z
<110>
SOAn (output)
Output data
Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
791
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
I2C Bus Mode (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF)
Parameter Symbol Normal Mode MIN. SCL0 clock frequency Bus free time (Between start and stop conditions) Hold time
Note 1
High-Speed Mode MIN. 0 1.3 MAX. 400 -
Unit
MAX. 100 -
fCLK tBUF <111>
0 4.7
kHz
s s s s s s s
ns ns ns
tHD:STA tLOW tHIGH tSU:STA
<112> <113> <114> <115> <116>
4.0 4.7 4.0 4.7
- - - - - - - 1000 300 - - 400
0.6 1.3 0.6 0.6 - 0
Note 2
- - - - - 0.9
Note 3
SCL0 clock low-level width SCL0 clock high-level width Setup time for start/restart conditions Data hold time CBUS compatible master I C mode Data setup time SDA0 and SCL0 signal rise time SDA0 and SCL0 signal fall time Stop condition setup time Pulse width of spike suppressed by input filter Capacitance load of each bus line
2
tHD:DAT
5.0
Note 2
0 tSU:DAT tR tF tSU:STO tSP <117> <118> <119> <120> <121>
250 - - 4.0 - -
100
Note 4
-
Note 5
20 + 0.1Cb
300 300 - 50
20 + 0.1Cb 0.6 0 -
Note 5
s
ns
Cb
400
pF
Notes 1. At the start condition, the first clock pulse is generated after the hold time. 2. The system requires a minimum of 300 ns hold time internally for the SDA0 signal (at VIHmin. of SCL0 signal) in order to occupy the undefined area at the falling edge of SCL0. 3. If the system does not extend the SCL0 signal low hold time (tLOW), only the maximum data hold time (tHD:DAT) needs to be satisfied. 4. The high-speed mode I2C bus can be used in the normal-mode I2C bus system. In this case, set the highspeed mode I C bus so that it meets the following conditions. * If the system does not extend the SCL0 signal's low state hold time: tSU:DAT 250 ns * If the system extends the SCL0 signal's low state hold time: Transmit the following data bit to the SDA0 line prior to the SCL0 line release (tRmax. + tSU:DAT = 1000 + 250 = 1250 ns: Normal mode I2C bus specification). 5. Cb: Total capacitance of one bus line (unit: pF)
2
792
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
I2C Bus Mode
<113> <114> SCL0 (I/O) <119> <118> <112> <116> <117> <115> <112> <121> <120>
SDA0 (I/O) <111> Stop condition Start condition <118> <119> Restart condition Stop condition
Preliminary User's Manual U17703EJ1V0UD
793
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
A/D Converter (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V)
Parameter Resolution Overall error
Note 1
Symbol
Conditions
MIN. 10
TYP. 10 0.2 0.3
MAX. 10 0.4 0.6 100 100 100 100 100 100 100 100 0.4 0.6 0.4 0.6 2.5 4.5 1.5 2.0
Unit bit %FSR %FSR
AINL
4.0 AVREF0 5.5 V 2.7 AVREF0 4.0 V
Conversion time
tCONV
4.5 AVREF0 5.5 V
High-speed mode Normal mode
3.0 14.0 4.8 14.0 6.0 17.0 14.0 17.0
s s s s s s s s
%FSR %FSR %FSR %FSR LSB LSB LSB LSB V mA
4.0 AVREF0 4.5 V
High-speed mode Normal mode
2.85 AVREF0 4.0 V
High-speed mode Normal mode
2.7 AVREF0 2.85 V
High-speed mode Normal mode
Zero-scale error
Note 1
Ezs
4.0 AVREF0 5.5 V 2.7 AVREF0 4.0 V
Full-scale error
Note 1
Efs
4.0 AVREF0 5.5 V 2.7 AVREF0 4.0 V
Non-linearity error
Note 2
ILE
4.0 AVREF0 5.5 V 2.7 AVREF0 4.0 V
Differential linearity error
Note 2
DLE
4.0 AVREF0 5.5 V 2.7 AVREF0 4.0 V
Analog input voltage AVREF0 current
VIAN IAREF0 When using A/D converter When not using A/D converter
Note 3
0 1.3 1.0
AVREF0 2.5 10
A
Notes 1. Excluding quantization error (0.05 %FSR). 2. Excluding quantization error (0.5 LSB). 3. ADM.ADCS bit = 0, ADM.ADCS2 bit = 0 Remark LSB: Least Significant Bit FSR: Full Scale Range
794
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
D/A Converter (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V)
Parameter Resolution Overall error
Notes 1, 2
Symbol
Conditions
MIN.
TYP.
MAX. 8
Unit bit %FSR %FSR %FSR
Load condition = 2 M Load condition = 4 M Load condition = 10 M
1.2 0.8 0.6 10 15 8 1.5 1.0 3.0 10
Settling time
Note 2
C = 30 pF
VDD = 4.5 to 5.5 V VDD = 2.7 to 4.5 V
s s
k mA
Output resistance AVREF1 current
Note 3
RO IAVREF1
Output data: DACSn register = 55H During D/A conversion When D/A conversion stopped
Note 4
A
Notes 1. Excluding quantization error (0.2 %FSR). 2. R is the D/A converter output pin load resistance, and C is the D/A converter output pin load capacitance. 3. Value of 1 channel of D/A converter 4. Value of 2 channels of D/A converter Remark n = 0, 1
Preliminary User's Manual U17703EJ1V0UD
795
CHAPTER 28 ELECTRICAL SPECIFICATIONS (TARGET)
Flash Memory Programming Characteristics (TA = -40 to +85C, VDD = EVDD = AVREF0 = 2.7 to 5.5 V, 2.7 V BVDD VDD, 2.7 V AVREF1 VDD, VSS = EVSS = BVSS = AVSS = 0 V, CL = 50 pF) (1) Basic characteristics
Parameter Programming operation frequency Symbol Conditions REGC = VDD = 4.5 to 5.5 V REGC = VDD = 4.0 to 5.5 V REGC = 10 F, VDD = 4.0 to 5.5 V REGC = VDD = 2.7 to 5.5 V Supply voltage Number of rewrites Programming temperature VDD CERWR tPRG Note 1 Note 2 -40 MIN. 2 2 2 2 2.7 100 +85 TYP. MAX. 20 16 16 10 5.5 Unit MHz MHz MHz MHz V Times C
Notes 1. When writing initially to shipped products, it is counted as one rewrite for both "erase to write" and "write only". Example (P: Write, E: Erase) Shipped product PEPEP: 3 rewrites Shipped product E PEPEP: 3 rewrites 2. These values may change after evaluation. (2) Serial write operation characteristics
Parameter Setup time from VDD to FLMD0 Time from RESET to FLMD0 pulse input start FLMD0 pulse high-/low-level width FLMD0 pulse rise time FLMD0 pulse fall time tPW tR tF <124> <125> <126> 10 100 50 50 Symbol tDP tRP <122> <123> Conditions MIN. 10 ms 66611.2/fX TYP. MAX. 3s s Unit
s
ns ns
Serial Write Operation Timing
VDD FLMD0
<122> FLMD1 0V
<124> <124>
<125> <126>
RESET <123>
796
Preliminary User's Manual U17703EJ1V0UD
CHAPTER 29 PACKAGE DRAWINGS
100-PIN PLASTIC QFP (14x20)
A B
80 81
51 50
detail of lead end S C D R Q
100 1 31 30
F G H I
M
J
P
K S
N
S
L M
NOTE Each lead centerline is located within 0.13 mm of its true position (T.P.) at maximum material condition.
ITEM A B C D F G H I J K L M N P Q R S
MILLIMETERS 23.20.2 20.00.2 14.00.2 17.20.2 0.825 0.575 0.32+0.08 -0.07 0.13 0.65 (T.P.) 1.60.2 0.80.2 0.17+0.06 -0.05 0.10 2.70.1 0.1250.075 3+7 -3 3.0 MAX. S100GF-65-JBT-2
Preliminary User's Manual U17703EJ1V0UD
797
CHAPTER 29 PACKAGE DRAWINGS
100-PIN PLASTIC LQFP (FINE PITCH) (14x14)
A B
75 76
51 50
detail of lead end S CD Q R
100 1
26 25
F G P H I
M
J K S
N
S L M
NOTE Each lead centerline is located within 0.08 mm of its true position (T.P.) at maximum material condition.
ITEM A B C D F G H I J K L M N P Q R S
MILLIMETERS 16.000.20 14.000.20 14.000.20 16.000.20 1.00 1.00 0.22 +0.05 -0.04 0.08 0.50 (T.P.) 1.000.20 0.500.20 0.17 +0.03 -0.07 0.08 1.400.05 0.100.05 +7 3 -3 1.60 MAX.
S100GC-50-8EU, 8EA-2
798
Preliminary User's Manual U17703EJ1V0UD
APPENDIX A INSTRUCTION SET LIST
A.1 Conventions
(1) Register symbols used to describe operands
Register Symbol reg1 reg2 Explanation General-purpose registers: Used as source registers. General-purpose registers: Used mainly as destination registers. Also used as source register in some instructions. reg3 General-purpose registers: Used mainly to store the remainders of division results and the higher 32 bits of multiplication results. bit#3 immX dispX regID vector cccc sp ep listX 3-bit data for specifying the bit number X bit immediate data X bit displacement data System register number 5-bit data that specifies the trap vector (00H to 1FH) 4-bit data that shows the condition codes Stack pointer (r3) Element pointer (r30) X item register list
(2) Register symbols used to describe opcodes
Register Symbol R r w d I i cccc CCCC bbb L 1-bit data of a code that specifies reg1 or regID 1-bit data of the code that specifies reg2 1-bit data of the code that specifies reg3 1-bit displacement data 1-bit immediate data (indicates the higher bits of immediate data) 1-bit immediate data 4-bit data that shows the condition codes 4-bit data that shows the condition codes of Bcond instruction 3-bit data for specifying the bit number 1-bit data that specifies a program register in the register list Explanation
Preliminary User's Manual U17703EJ1V0UD
799
APPENDIX A INSTRUCTION SET LIST
(3) Register symbols used in operations
Register Symbol GR [ ] SR [ ] zero-extend (n) sign-extend (n) load-memory (a, b) store-memory (a, b, c) load-memory-bit (a, b) store-memory-bit (a, b, c) saturated (n) Input for General-purpose register System register Expand n with zeros until word length. Expand n with signs until word length. Read size b data from address a. Write data b into address a in size c. Read bit b of address a. Write c to bit b of address a. Execute saturated processing of n (n is a 2's complement). If, as a result of calculations, n 7FFFFFFFH, let it be 7FFFFFFFH. n 80000000H, let it be 80000000H. result Byte Halfword Word + - ll x / % AND OR XOR NOT logically shift left by logically shift right by arithmetically shift right by Reflects the results in a flag. Byte (8 bits) Halfword (16 bits) Word (32 bits) Addition Subtraction Bit concatenation Multiplication Division Remainder from division results Logical product Logical sum Exclusive OR Logical negation Logical shift left Logical shift right Arithmetic shift right Explanation
(4) Register symbols used in execution clock
Register Symbol i r l Explanation If executing another instruction immediately after executing the first instruction (issue). If repeating execution of the same instruction immediately after executing the first instruction (repeat). If using the results of instruction execution in the instruction immediately after the execution (latency).
800
Preliminary User's Manual U17703EJ1V0UD
APPENDIX A INSTRUCTION SET LIST
(5) Register symbols used in flag operations
Identifier (Blank) 0 X R No change Clear to 0 Set or cleared in accordance with the results. Previously saved values are restored. Explanation
(6) Condition codes
Condition Code (cccc) 0000 1000 0001 OV = 1 OV = 0 CY = 1 Overflow No overflow Carry Lower (Less than) 1001 CY = 0 No carry Not lower (Greater than or equal) 0010 1010 0011 1011 0100 1100 0101 1101 0110 1110 0111 1111 SAT = 1 (S xor OV) = 1 (S xor OV) = 0 ((S xor OV) or Z) = 1 ((S xor OV) or Z) = 0 Z=1 Z=0 (CY or Z) = 1 (CY or Z) = 0 S=1 S=0 - Zero Not zero Not higher (Less than or equal) Higher (Greater than) Negative Positive Always (Unconditional) Saturated Less than signed Greater than or equal signed Less than or equal signed Greater than signed Condition Formula Explanation
Preliminary User's Manual U17703EJ1V0UD
801
APPENDIX A INSTRUCTION SET LIST
A.2 Instruction Set (in Alphabetical Order)
(1/6)
Mnemonic Operand Opcode Operation Execution Clock i ADD reg1,reg2 imm5,reg2 ADDI imm16,reg1,reg2 r r rr r0 01 11 0 RRRRR rrrrr010010iiiii r r rr r1 10 00 0 RRRRR iiiiiiiiiiiiiiii AND ANDI reg1,reg2 imm16,reg1,reg2 r r rr r0 01 01 0 RRRRR r r rr r1 10 11 0 RRRRR iiiiiiiiiiiiiiii Bcond disp9 ddddd1011dddcccc if conditions are satisfied Note 1 then PCPC+sign-extend(disp9) When conditions are satisfied When conditions are not satisfied BSH reg2,reg3 rrrrr11111100000 GR[reg3]GR[reg2] (23 : 16) ll GR[reg2] (31 : 24) ll 1 1 1 x x 0 x x x x 2 2 2 GR[reg2]GR[reg2]AND GR[reg1] GR[reg2]GR[reg1]AND zero-extend(imm16) 1 1 1 1 1 1 0 0 x x x x GR[reg2]GR[reg2]+GR[reg1] GR[reg2]GR[reg2]+sign-extend(imm5) GR[reg2]GR[reg1]+sign-extend(imm16) 1 1 1 r 1 1 1 l 1 1 1 CY OV S x x x x x x x x x Z SAT x x x Flags
Note 2 Note 2 Note 2
1
1
1
wwwww01101000010 GR[reg2] (7 : 0) ll GR[reg2] (15 : 8) BSW reg2,reg3 rrrrr11111100000 GR[reg3]GR[reg2] (7 : 0) ll GR[reg2] (15 : 8) ll GR 1 1 1 0
wwwww01101000000 [reg2] (23 : 16) ll GR[reg2] (31 : 24) CALLT imm6 0000001000iiiiii CTPCPC+2(return PC) CTPSWPSW adrCTBP+zero-extend(imm6 logically shift left by 1) PCCTBP+zero-extend(Load-memory(adr,Halfword)) CLR1 bit#3,disp16[reg1] 10bbb111110RRRRR adrGR[reg1]+sign-extend(disp16) dddddddddddddddd Z flagNot(Load-memory-bit(adr,bit#3)) Store-memory-bit(adr,bit#3,0) reg2,[reg1] r r rr r1 11 11 1 RRRRR 0000000011100100 adrGR[reg1] Z flagNot(Load-memory-bit(adr,reg2)) Store-memory-bit(adr,reg2,0) CMOV cccc,imm5,reg2,reg3 r r r r r 1 1 1 1 1 1 i i i i i wwwww011000cccc0 if conditions are satisfied then GR[reg3]sign-extended(imm5) else GR[reg3]GR[reg2] cccc,reg1,reg2,reg3 r r rr r1 11 11 1 RRRR if conditions are satisfied else GR[reg3]GR[reg2] CMP reg1,reg2 imm5,reg2 CTRET r r rr r0 01 11 1 RRRRR rrrrr010011iiiii 0000011111100000 0000000101000100 DBRET 0000011111100000 0000000101000110 resultGR[reg2]-GR[reg1] resultGR[reg2]-sign-extend(imm5) PCCTPC PSWCTPSW PCDBPC PSWDBPSW 3 3 3 R R R R R 1 1 3 1 1 3 1 1 3 x x R x x R x x R x x R R 1 1 1 1 1 1 3 3 3 x 3 3 3 x 4 4 4
Note 3 Note 3 Note 3
Note 3 Note 3 Note 3
wwwww011001cccc0 then GR[reg3]GR[reg1]
802
Preliminary User's Manual U17703EJ1V0UD
APPENDIX A INSTRUCTION SET LIST
(2/6)
Mnemonic Operand Opcode Operation Execution Clock i DBTRAP 1111100001000000 DBPCPC+2 (restored PC) DBPSWPSW PSW.NP1 PSW.EP1 PSW.ID1 PC00000060H DI 0000011111100000 0000000101100000 DISPOSE imm5,list12 0000011001iiiiiL LLLLLLLLLLL00000 spsp+zero-extend(imm5 logically shift left by 2) GR[reg in list12]Load-memory(sp,Word) spsp+4 repeat 2 steps above until all regs in list12 is loaded imm5,list12,[reg1] 0000011001iiiiiL spsp+zero-extend(imm5 logically shift left by 2) n+3 n+3 n+3
Note 4 Note 4 Note 4
Flags
r 3
l 3
CY OV S
Z SAT
3
PSW.ID1
1
1
1
n+1 n+1 n+1
Note 4 Note 4 Note 4
LLLLLLLLLLLRRRRR GR[reg in list12]Load-memory(sp,Word) Note 5 spsp+4 repeat 2 steps above until all regs in list12 is loaded PCGR[reg1] DIV reg1,reg2,reg3 r r rr r1 11 11 1 RRRRR GR[reg2]GR[reg2]/GR[reg1]
35 35 35
x x x x x
x x x x x
x x x x x
wwwww01011000000 GR[reg3]GR[reg2]%GR[reg1] DIVH reg1,reg2 reg1,reg2,reg3 r r rr r0 00 01 0 RRRRR r r rr r1 11 11 1 RRRRR GR[reg2]GR[reg2]/GR[reg1]Note 6 GR[reg2]GR[reg2]/GR[reg1]
Note 6
35 35 35 35 35 35
wwwww01010000000 GR[reg3]GR[reg2]%GR[reg1] DIVHU reg1,reg2,reg3 r r rr r1 11 11 1 RRRRR GR[reg2]GR[reg2]/GR[reg1]Note 6 34 34 34
wwwww01010000010 GR[reg3]GR[reg2]%GR[reg1] DIVU reg1,reg2,reg3 r r rr r1 11 11 1 RRRRR GR[reg2]GR[reg2]/GR[reg1] 34 34 34
wwwww01011000010 GR[reg3]GR[reg2]%GR[reg1] EI 1000011111100000 0000000101100000 HALT 0000011111100000 0000000100100000 HSW reg2,reg3 rrrrr11111100000 wwwww01101000100 JARL disp22,reg2 rrrrr11110dddddd ddddddddddddddd0 Note 7 JMP JR [reg1] disp22 00000000011RRRRR PCGR[reg1] 0000011110dddddd ddddddddddddddd0 Note 7 LD.B disp16[reg1],reg2 r r rr r1 11 00 0 RRRRR dddddddddddddddd LD.BU disp16[reg1],reg2 r r rr r1 11 10 b RRRRR dddddddddddddd1 Notes 8, 10 adrGR[reg1]+sign-extend(disp16) GR[reg2]sign-extend(Load-memory(adr,Byte)) adrGR[reg1]+sign-extend(disp16) GR[reg2]zero-extend(Load-memory(adr,Byte)) 1 1 1 1
Note 11 Note 11
PSW.ID0
1
1
1
Stop
1
1
1
GR[reg3]GR[reg2](15 : 0) ll GR[reg2] (31 : 16)
1
1
1
x
0
x
x
GR[reg2]PC+4 PCPC+sign-extend(disp22)
2
2
2
3 2
3 2
3 2
PCPC+sign-extend(disp22)
Preliminary User's Manual U17703EJ1V0UD
803
APPENDIX A INSTRUCTION SET LIST
(3/6)
Mnemonic Operand Opcode Operation Execution Clock i LD.H disp16[reg1],reg2 rrrrr111001RRRRR ddddddddddddddd0 Note 8 LDSR reg2,regID rrrrr111111RRRRR 0000000000100000 Note 12 LD.HU disp16[reg1],reg2 r r rr r1 11 11 1 RRRRR ddddddddddddddd1 Note 8 LD.W disp16[reg1],reg2 r r rr r1 11 00 1 RRRRR ddddddddddddddd1 Note 8 MOV reg1,reg2 imm5,reg2 imm32,reg1 r r rr r0 00 00 0 RRRRR rrrrr010000iiiii GR[reg2]GR[reg1] GR[reg2]sign-extend(imm5) 1 1 2 1 1 2 1 1 2 adrGR[reg1]+sign-extend(disp16) GR[reg2]Load-memory(adr,Word) 1 1
Note 11
Flags
r 1
l
Note 11
CY OV S
Z SAT
adrGR[reg1]+sign-extend(disp16) GR[reg2]sign-extend(Load-memory(adr,Halfword))
1
SR[regID]GR[reg2]
Other than regID = PSW regID = PSW
1 1
1 1
1 1 x x x x x
adrGR[reg1]+sign-extend(disp16) GR[reg2]zero-extend(Load-memory(adr,Halfword)
1
1
Note 11
00000110001RRRRR GR[reg1]imm32 iiiiiiiiiiiiiiii IIIIIIIIIIIIIIII
MOVEA
imm16,reg1,reg2
r r rr r1 10 00 1 RRRRR iiiiiiiiiiiiiiii
GR[reg2]GR[reg1]+sign-extend(imm16)
1
1
1
MOVHI
imm16,reg1,reg2
r r rr r1 10 01 0 RRRRR iiiiiiiiiiiiiiii
GR[reg2]GR[reg1]+(imm16 ll 016)
1
1
1
MUL
reg1,reg2,reg3
r r rr r1 11 11 1 RRRRR
GR[reg3] ll GR[reg2]GR[reg2]xGR[reg1]
1
4
5
wwwww01000100000 Note 14 imm9,reg2,reg3 rrrrr111111iiiii wwwww01001IIII 00 Note 13 MULH reg1,reg2 imm5,reg2 MULHI imm16,reg1,reg2 r r rr r0 00 11 1 RRRRR rrrrr010111iiiii r r rr r1 10 11 1 RRRRR iiiiiiiiiiiiiiii MULU reg1,reg2,reg3 r r rr r1 11 11 1 RRRRR GR[reg3] ll GR[reg2]GR[reg2]xGR[reg1] 1 4 5 GR[reg2]GR[reg2]Note 6xGR[reg1]Note 6 GR[reg2]GR[reg2] GR[reg2]GR[reg1]
Note 6
GR[reg3] ll GR[reg2]GR[reg2]xsign-extend(imm9)
1
4
5
1 1 1
1 1 1
2 2 2
xsign-extend(imm5) ximm16
Note 6
wwwww01000100010 Note 14 imm9,reg2,reg3 rrrrr111111iiiii wwwww01001IIII 10 Note 13 NOP NOT NOT1 reg1,reg2 bit#3,disp16[reg1] 0000000000000000 Pass at least one clock cycle doing nothing. r r rr r0 00 00 1 RRRRR GR[reg2]NOT(GR[reg1]) 1 1 3 1 1 3 1 1 3 0 x x x GR[reg3] ll GR[reg2]GR[reg2]xzero-extend(imm9) 1 4 5
01bbb111110RRRRR adrGR[reg1]+sign-extend(disp16) dddddddddddddddd Z flagNot(Load-memory-bit(adr,bit#3)) Store-memory-bit(adr,bit#3,Z flag)
Note 3 Note 3 Note 3
reg2,[reg1]
r r rr r1 11 11 1 RRRRR 0000000011100010
adrGR[reg1] Z flagNot(Load-memory-bit(adr,reg2)) Store-memory-bit(adr,reg2,Z flag)
3
3
3
x
Note 3 Note 3 Note 3
804
Preliminary User's Manual U17703EJ1V0UD
APPENDIX A INSTRUCTION SET LIST
(4/6)
Mnemonic Operand Opcode Operation Execution Clock i OR ORI reg1,reg2 imm16,reg1,reg2 r r rr r0 01 00 0 RRRRR r r rr r1 10 10 0 RRRRR iiiiiiiiiiiiiiii PREPARE list12,imm5 0000011110iiiiiL Store-memory(sp-4,GR[reg in list12],Word) repeat 1 step above until all regs in list12 is stored spsp-zero-extend(imm5) list12,imm5, sp/immNote 15 0000011110iiiiiL LLLLLLLLLLLff011 imm16/imm32 Store-memory(sp-4,GR[reg in list12],Word) spsp+4 repeat 1 step above until all regs in list12 is stored Note 16 spsp-zero-extend (imm5) epsp/imm RETI 0000011111100000 if PSW.EP=1 0000000101000000 then PC EIPC PSW EIPSW else if PSW.NP=1 then else PC PC FEPC EIPC x x x x x x PSW FEPSW PSW EIPSW SAR reg1,reg2 r r rr r1 11 11 1 RRRRR 0000000010100000 imm5,reg2 rrrrr010101iiiii GR[reg2]GR[reg2]arithmetically shift right by GR[reg1] GR[reg2]GR[reg2]arithmetically shift right by zero-extend (imm5) SASF cccc,reg2 rrrrr1111110cccc 0000001000000000 if conditions are satisfied then GR[reg2](GR[reg2]Logically shift left by 1) OR 00000001H else GR[reg2](GR[reg2]Logically shift left by 1) OR 00000000H SATADD reg1,reg2 imm5,reg2 SATSUB SATSUBI reg1,reg2 imm16,reg1,reg2 r r rr r0 00 11 0 RRRRR rrrrr010001iiiii r r rr r0 00 10 1 RRRRR r r rr r1 10 01 1 RRRRR iiiiiiiiiiiiiiii SATSUBR reg1,reg2 SETF cccc,reg2 r r rr r0 00 10 0 RRRRR rrrrr1111110cccc 0000000000000000 GR[reg2]saturated(GR[reg1]-GR[reg2]) If conditions are satisfied then GR[reg2]00000001H else GR[reg2]00000000H 1 1 1 1 1 1 x x x x x GR[reg2]saturated(GR[reg2]+GR[reg1]) GR[reg2]saturated(GR[reg2]+sign-extend(imm5)) GR[reg2]saturated(GR[reg2]-GR[reg1]) GR[reg2]saturated(GR[reg1]-sign-extend(imm16)) 1 1 1 1 1 1 1 1 1 1 1 1 x x x x x x x x x x x x x x x x x x x x 1 1 1 1 1 1 0 1 1 1 0
Note17 Note17 Note17
Flags
r 1 1
l 1 1
CY OV S 0 0 x x
Z SAT x x
GR[reg2]GR[reg2]OR GR[reg1] GR[reg2]GR[reg1]OR zero-extend(imm16)
1 1
n+1 n+1 n+1
Note 4 Note 4 Note 4
LLLLLLLLLLL00001 spsp-4
n+2 n+2 n+2
Note 4 Note 4 Note 4
3
3
3
R
R
R
R
R
Preliminary User's Manual U17703EJ1V0UD
805
APPENDIX A INSTRUCTION SET LIST
(5/6)
Mnemonic Operand Opcode Operation Execution Clock i SET1 bit#3,disp16[reg1] 00bbb111110RRRRR adrGR[reg1]+sign-extend(disp16) dddddddddddddddd Z flagNot (Load-memory-bit(adr,bit#3)) Store-memory-bit(adr,bit#3,1) reg2,[reg1] r r rr r1 11 11 1 RRRRR 0000000011100000 adrGR[reg1] Z flagNot(Load-memory-bit(adr,reg2)) Store-memory-bit(adr,reg2,1) SHL reg1,reg2 r r rr r1 11 11 1 RRRRR 0000000011000000 imm5,reg2 rrrrr010110iiiii GR[reg2]GR[reg2] logically shift left by zero-extend(imm5) SHR reg1,reg2 r r rr r1 11 11 1 RRRRR 0000000010000000 imm5,reg2 rrrrr010100iiiii GR[reg2]GR[reg2] logically shift right by zero-extend(imm5) SLD.B disp7[ep],reg2 rrrrr0110ddddddd adrep+zero-extend(disp7) GR[reg2]sign-extend(Load-memory(adr,Byte)) SLD.BU disp4[ep],reg2 r r r r r 0 0 0 0 1 1 0 d d d d adrep+zero-extend(disp4) Note 18 GR[reg2]zero-extend(Load-memory(adr,Byte)) SLD.H disp8[ep],reg2 r r r r r 1 0 0 0 d d d d d d d adrep+zero-extend(disp8) Note 19 GR[reg2]sign-extend(Load-memory(adr,Halfword)) SLD.HU disp5[ep],reg2 r r r r r 0 0 0 0 1 1 1 d d d d adrep+zero-extend(disp5) Notes 18, 20 GR[reg2]zero-extend(Load-memory(adr,Halfword)) SLD.W disp8[ep],reg2 r r r r r 1 0 1 0 d d d d d d 0 adrep+zero-extend(disp8) Note 21 GR[reg2]Load-memory(adr,Word) SST.B reg2,disp7[ep] rrrrr0111ddddddd adrep+zero-extend(disp7) Store-memory(adr,GR[reg2],Byte) SST.H reg2,disp8[ep] r r r r r 1 0 0 1 d d d d d d d adrep+zero-extend(disp8) Note 19 Store-memory(adr,GR[reg2],Halfword) SST.W reg2,disp8[ep] r r r r r 1 0 1 0 d d d d d d 1 adrep+zero-extend(disp8) Note 21 Store-memory(adr,GR[reg2],Word) ST.B reg2,disp16[reg1] r r rr r1 11 01 0 RRRRR dddddddddddddddd ST.H reg2,disp16[reg1] adrGR[reg1]+sign-extend(disp16) Store-memory(adr,GR[reg2],Byte) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Note 9
Flags
r 3
l 3
CY OV S
Z SAT x
3
Note 3 Note 3 Note 3
3
3
3
x
Note 3 Note 3 Note 3
GR[reg2]GR[reg2] logically shift left by GR[reg1]
1
1
1
x x x x
0
x x x x
x x x x
1
1
1
0
GR[reg2]GR[reg2] logically shift right by GR[reg1]
1
1
1
0
1
1
1
0
1
1
Note 9
1
1
Note 9
1
1
Note 9
1
1
Note 9
r r rr r1 11 01 1 RRRRR adrGR[reg1]+sign-extend(disp16) ddddddddddddddd0 Store-memory (adr,GR[reg2], Halfword) Note 8
ST.W
reg2,disp16[reg1]
rrrrr111011RRRRR adrGR[reg1]+sign-extend(disp16) ddddddddddddddd1 Store-memory (adr,GR[reg2], Word) Note 8
1
1
1
STSR
regID,reg2
r r rr r1 11 11 1 RRRRR 0000000001000000
GR[reg2]SR[regID]
1
1
1
806
Preliminary User's Manual U17703EJ1V0UD
APPENDIX A INSTRUCTION SET LIST
(6/6)
Mnemonic Operand Opcode Operation Execution Clock i SUB SUBR SWITCH reg1,reg2 reg1,reg2 reg1 r r rr r0 01 10 1 RRRRR r r rr r0 01 10 0 RRRRR GR[reg2]GR[reg2]-GR[reg1] GR[reg2]GR[reg1]-GR[reg2] 1 1 5 r 1 1 5 l 1 1 5 CY OV S x x x x x x Z SAT x x Flags
00000000010RRRRR adr(PC+2) + (GR [reg1] logically shift left by 1) PC(PC+2) + (sign-extend (Load-memory (adr,Halfword)) logically shift left by 1
SXB
reg1
00000000101RRRRR GR[reg1]sign-extend (GR[reg1] (7 : 0))
1
1
1
SXH
reg1
00000000111RRRRR GR[reg1]sign-extend (GR[reg1] (15 : 0))
1
1
1
TRAP
vector
00000111111iiiii 0000000100000000
EIPC EIPSW PSW.EP PSW.ID PC
PC+4 (Restored PC) PSW 1 1 00000040H (when vector is 00H to 0FH) 00000050H (when vector is 10H to 1FH)
3
3
3
ECR.EICC Interrupt code
TST TST1
reg1,reg2 bit#3,disp16[reg1]
r r rr r0 01 01 1 RRRRR
resultGR[reg2] AND GR[reg1]
1 3
1 3
1 3
0
x
x x x
11bbb111110RRRRR adrGR[reg1]+sign-extend(disp16) dddddddddddddddd Z flagNot (Load-memory-bit (adr,bit#3)) adrGR[reg1] Z flagNot (Load-memory-bit (adr,reg2)) GR[reg2]GR[reg2] XOR GR[reg1] GR[reg2]GR[reg1] XOR zero-extend (imm16)
Note 3 Note 3 Note 3
reg2, [reg1]
r r rr r1 11 11 1 RRRRR 0000000011100110
3
3
3
Note 3 Note 3 Note 3
XOR XORI
reg1,reg2 imm16,reg1,reg2
r r rr r0 01 00 1 RRRRR r r rr r1 10 10 1 RRRRR iiiiiiiiiiiiiiii
1 1
1 1
1 1
0 0
x x
x x
ZXB ZXH
reg1 reg1
00000000100RRRRR GR[reg1]zero-extend (GR[reg1] (7 : 0)) 00000000110RRRRR GR[reg1]zero-extend (GR[reg1] (15 : 0))
1 1
1 1
1 1
Notes 1. 2. 3. 4. 5. 6. 7. 8. 9.
dddddddd: Higher 8 bits of disp9. 3 if there is an instruction that rewrites the contents of the PSW immediately before. If there is no wait state (3 + the number of read access wait states). n is the total number of list12 load registers. (According to the number of wait states. Also, if there are no wait states, n is the total number of list12 registers. If n = 0, same operation as when n = 1) RRRRR: other than 00000. The lower halfword data only are valid. ddddddddddddddddddddd: The higher 21 bits of disp22. ddddddddddddddd: The higher 15 bits of disp16. According to the number of wait states (1 if there are no wait states).
10. b: bit 0 of disp16. 11. According to the number of wait states (2 if there are no wait states).
Preliminary User's Manual U17703EJ1V0UD
807
APPENDIX A INSTRUCTION SET LIST
Notes 12. In this instruction, for convenience of mnemonic description, the source register is made reg2, but the reg1 field is used in the opcode. Therefore, the meaning of register specification in the mnemonic description and in the opcode differs from other instructions. rrrrr = regID specification RRRRR = reg2 specification 13. i i i i i : Lower 5 bits of imm9. I I I I : Higher 4 bits of imm9. 14. Do not specify the same register for general-purpose registers reg1 and reg3. 15. sp/imm: specified by bits 19 and 20 of the sub-opcode. 16. ff = 00: Load sp in ep. 01: Load sign expanded 16-bit immediate data (bits 47 to 32) in ep. 10: Load 16-bit logically left shifted 16-bit immediate data (bits 47 to 32) in ep. 11: Load 32-bit immediate data (bits 63 to 32) in ep. 17. If imm = imm32, n + 3 clocks. 18. r r r r r : Other than 00000. 19. ddddddd: Higher 7 bits of disp8. 20. dddd: Higher 4 bits of disp5. 21. dddddd: Higher 6 bits of disp8.
808
Preliminary User's Manual U17703EJ1V0UD
APPENDIX B REGISTER INDEX
(1/9)
Symbol ADCR ADCRH ADIC ADM ADS ADTC0 ADTC1 ADTI0 ADTI1 ADTP0 ADTP1 ASIF0 ASIF1 ASIF2 ASIM0 ASIM1 ASIM2 ASIS0 ASIS1 ASIS2 AWC BCC BRGC0 BRGC1 BRGC2 BRGCA0 BRGCA1 BRGIC BSC CKSR0 CKSR1 CKSR2 CMP00 CMP01 CMP10 CMP11 CR000 CR001 CR010 CR011 CR020 CR021 A/D conversion result register A/D conversion result register H Interrupt control register A/D converter mode register Analog input channel specification register Automatic data transfer address count register 0 Automatic data transfer address count register 1 Automatic data transfer interval specification register 0 Automatic data transfer interval specification register 1 Automatic data transfer address point specification register 0 Automatic data transfer address point specification register 1 Asynchronous serial interface transmit status register 0 Asynchronous serial interface transmit status register 1 Asynchronous serial interface transmit status register 2 Asynchronous serial interface mode register 0 Asynchronous serial interface mode register 1 Asynchronous serial interface mode register 2 Asynchronous serial interface status register 0 Asynchronous serial interface status register 1 Asynchronous serial interface status register 2 Address wait control register Bus cycle control register Baud rate generator control register 0 Baud rate generator control register 1 Baud rate generator control register 2 Divisor selection register 0 Divisor selection register 1 Interrupt control register Bus size configuration register Clock select register 0 Clock select register 1 Clock select register 2 8-bit timer H compare register 00 8-bit timer H compare register 01 8-bit timer H compare register 10 8-bit timer H compare register 11 16-bit timer capture/compare register 000 16-bit timer capture/compare register 001 16-bit timer capture/compare register 010 16-bit timer capture/compare register 011 16-bit timer capture/compare register 020 16-bit timer capture/compare register 021
Preliminary User's Manual U17703EJ1V0UD
Name
Unit ADC ADC INTC ADC ADC CSIA CSIA CSIA CSIA CSIA CSIA UART UART UART UART UART UART UART UART UART BCU BCU UART UART UART CSIA CSIA INTC BCU UART UART UART TMH TMH TMH TMH TM0 TM0 TM0 TM0 TM0 TM0
Page 439 439 670 435 438 525 525 531 531 529 529 471 471 471 468 468 468 470 470 470 176 177 489 489 489 529 529 670 165 488 488 488 380 381 380 381 288 289 288 289 288 289
809
APPENDIX B REGISTER INDEX
(2/9)
Symbol CR030 CR031 CR5 CR50 CR51 CRC00 CRC01 CRC02 CRC03 CSI0IC0 CSI0IC1 CSIA0B0 CSIA0B0H CSIA0B0L CSIA1B0 CSIA1B0H CSIA1B0L CSIAIC0 CSIAIC1 CSIC0 CSIC1 CSIM00 CSIM01 CSIMA0 CSIMA1 CSIS0 CSIS1 CSIT0 CSIT1 CTBP CTPC CTPSW DACS0 DACS1 DADC0 DADC1 DADC2 DADC3 DAM DBC0 DBC1 DBC2 DBC3 DBPC Name 16-bit timer capture/compare register 030 16-bit timer capture/compare register 031 16-bit timer compare register 5 8-bit timer compare register 50 8-bit timer compare register 51 Capture/compare control register 00 Capture/compare control register 01 Capture/compare control register 02 Capture/compare control register 03 Interrupt control register Interrupt control register CSIA0 buffer RAMn (n = 0 to F) CSIA0 buffer RAMnH (n = 0 to F) CSIA0 buffer RAMnL (n = 0 to F) CSIA1 buffer RAMn (n = 0 to F) CSIA1 buffer RAMnH (n = 0 to F) CSIA1 buffer RAMnL (n = 0 to F) Interrupt control register Interrupt control register Clocked serial interface clock selection register 0 Clocked serial interface clock selection register 1 Clocked serial interface mode register 00 Clocked serial interface mode register 01 Serial operation mode specification register 0 Serial operation mode specification register 1 Serial status register 0 Serial status register 1 Serial trigger register 0 Serial trigger register 1 CALLT base pointer CALLT execution status saving register CALLT execution status saving register D/A conversion value setting register 0 D/A conversion value setting register 1 DMA addressing control register 0 DMA addressing control register 1 DMA addressing control register 2 DMA addressing control register 3 D/A converter mode register DMA byte count register 0 DMA byte count register 1 DMA byte count register 2 DMA byte count register 3 Exception/debug trap status saving register Unit TM0 TM0 TM5 TM5 TM5 TM0 TM0 TM0 TM0 INTC INTC CSIA CSIA CSIA CSIA CSIA CSIA INTC INTC CSI0 CSI0 CSI0 CSI0 CSIA CSIA CSIA CSIA CSIA CSIA CPU CPU CPU DAC DAC DMA DMA DMA DMA DAC DMA DMA DMA DMA CPU Page 288 289 362 362 362 294 294 294 294 670 670 531 531 531 531 531 531 670 670 501 501 499 499 526 526 527 527 528 528 50 49 49 461 461 634 634 634 634 461 633 633 633 633 50
810
Preliminary User's Manual U17703EJ1V0UD
APPENDIX B REGISTER INDEX
(3/9)
Symbol DBPSW DCHC0 DCHC1 DCHC2 DCHC3 DDA0H DDA0L DDA1H DDA1L DDA2H DDA2L DDA3H DDA3L DMAIC0 DMAIC1 DMAIC2 DMAIC3 DSA0H DSA0L DSA1H DSA1L DSA2H DSA2L DSA3H DSA3L DTFR0 DTFR1 DTFR2 DTFR3 DWC0 ECR EIPC EIPSW EXIMC FEPC FEPSW IIC0 IICC0 IICCL0 IICF0 IICIC0 IICS0 IICX0 IMR0 Name Exception/debug trap status saving register DMA channel control register 0 DMA channel control register 1 DMA channel control register 2 DMA channel control register 3 DMA destination address register 0H DMA destination address register 0L DMA destination address register 1H DMA destination address register 1L DMA destination address register 2H DMA destination address register 2L DMA destination address register 3H DMA destination address register 3L Interrupt control register Interrupt control register Interrupt control register Interrupt control register DMA source address register 0H DMA source address register 0L DMA source address register 1H DMA source address register 1L DMA source address register 2H DMA source address register 2L DMA source address register 3H DMA source address register 3L DMA trigger factor register 0 DMA trigger factor register 1 DMA trigger factor register 2 DMA trigger factor register 3 Data wait control register 0 Interrupt source register Interrupt status saving register Interrupt status saving register External bus interface mode control register NMI status saving register NMI status saving register IIC shift register 0 IIC control register 0 IIC clock selection register 0 IIC flag register 0 Interrupt control register IIC status register 0 IIC function expansion register 0 Interrupt mask register 0 Unit CPU DMA DMA DMA DMA DMA DMA DMA DMA DMA DMA DMA DMA INTC INTC INTC INTC DMA DMA DMA DMA DMA DMA DMA DMA DMA DMA DMA DMA BCU CPU CPU CPU BCU CPU CPU IC IC IC IC INTC IC IC INTC
2 2 2 2 2 2
Page 50 635 635 635 635 632 632 632 632 632 632 632 632 670 671 671 671 631 631 631 631 631 631 631 631 636 636 636 636 173 47 46 46 164 47 47 572 559 569 567 670 564 570 671
Preliminary User's Manual U17703EJ1V0UD
811
APPENDIX B REGISTER INDEX
(4/9)
Symbol IMR0H IMR0L IMR1 IMR1H IMR1L IMR2 IMR2H IMR2L IMR3 IMR3H IMR3L INTF0 INTF3 INTF9H INTR0 INTR3 INTR9H ISPR KRIC KRM NFC OSTS P0 P0NFC P1 P1NFC P3 P3H P3L P4 P5 P7 P9 P9H P9L PC PCC PCM PCS PCT PDH PDL PDLH PDLL Interrupt mask register 0H Interrupt mask register 0L Interrupt mask register 1 Interrupt mask register 1H Interrupt mask register 1L Interrupt mask register 2 Interrupt mask register 2H Interrupt mask register 2L Interrupt mask register 3 Interrupt mask register 3H Interrupt mask register 3L External interrupt falling edge specification register 0 External interrupt falling edge specification register 3 External interrupt falling edge specification register 9H External interrupt rising edge specification register 0 External interrupt rising edge specification register 3 External interrupt rising edge specification register 9H In-service priority register Interrupt control register Key return mode register Digital noise elimination control register Oscillation stabilization time selection register Port 0 register TIP00 noise elimination control register Port 1 register TIP01 noise elimination control register Port 3 register Port 3 register H Port 3 register L Port 4 register Port 5 register Port 7 register Port 9 register Port 9 register H Port 9 register L Program counter Processor clock control register Port CM register Port CS register Port CT register Port DH register Port DL register Port DL register H Port DL register L Name Unit INTC INTC INTC INTC INTC INTC INTC INTC INTC INTC INTC INTC INTC INTC INTC INTC INTC INTC INTC KR INTC Standby Port TMP Port TMP Port Port Port Port Port Port Port Port Port CPU CG Port Port Port Port Port Port Port Page 671 671 671 671 671 671 671 671 671 671 671 679 680 681 679 680 681 673 670 694 677 700 90 283 92 283 95 95 95 100 103 106 108 108 108 44 191 115 117 119 121 124 124 124
812
Preliminary User's Manual U17703EJ1V0UD
APPENDIX B REGISTER INDEX
(5/9)
Symbol PF3H PF4 PF5 PF9H PFC3 PFC4 PFC5 PFC9 PFC9H PFC9L PFCE3 PFM PFT PIC0 PIC1 PIC2 PIC3 PIC4 PIC5 PIC6 PIC7 PLLCTL PM0 PM1 PM3 PM3H PM3L PM4 PM5 PM9 PM9H PM9L PMC0 PMC3 PMC3H PMC3L PMC4 PMC5 PMC9 PMC9H PMC9L PMCCM PMCCS PMCCT Port 3 function register H Port 4 function register Port 5 function register Port 9 function register H Port 3 function control register Port 4 function control register Port 5 function control register Port 9 function control register Port 9 function control register H Port 9 function control register L Port 3 function control expansion register Power fail comparison mode register Power fail comparison threshold register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register PLL control register Port 0 mode register Port 1 mode register Port 3 mode register Port 3 mode register H Port 3 mode register L Port 4 mode register Port 5 mode register Port 9 mode register Port 9 mode register H Port 9 mode register L Port 0 mode control register Port 3 mode control register Port 3 mode control register H Port 3 mode control register L Port 4 mode control register Port 5 mode control register Port 9 mode control register Port 9 mode control register H Port 9 mode control register L Port CM mode control register Port CS mode control register Port CT mode control register Name Unit Port Port Port Port Port Port Port Port Port Port Port ADC ADC INTC INTC INTC INTC INTC INTC INTC INTC CG Port Port Port Port Port Port Port Port Port Port Port Port Port Port Port Port Port Port Port Port Port Port Page 97 102 104 111 97 101 106 111 111 111 97 441 441 670 670 670 670 670 670 670 670 196, 430 90 92 95 95 95 100 103 108 108 108 91 96 96 96 101 104 108 109 109 116 118 120
Preliminary User's Manual U17703EJ1V0UD
813
APPENDIX B REGISTER INDEX
(6/9)
Symbol PMCDH PMCDL PMCDLH PMCDLL PMCM PMCS PMCT PMDH PMDL PMDLH PMDLL PRCMD PRM00 PRM01 PRM02 PRM03 PRSCM PRSM PSC PSMR PSW PU0 PU1 PU3 PU4 PU5 PU9 PU9H PU9L PUCM PUCS PUCT PUDH PUDL PUDLL PUDLH r0 to r31 RTBH0 RTBL0 RTPC0 RTPM0 RXB0 RXB1 RXB2 Port DH mode control register Port DL mode control register Port DL mode control register H Port DL mode control register L Port CM mode register Port CS mode register Port CT mode register Port DH mode register Port DL mode register Port DL mode register H Port DL mode register L Command register Prescaler mode register 00 Prescaler mode register 01 Prescaler mode register 02 Prescaler mode register 03 Interval timer BRG compare register Interval timer BRG mode register Power save control register Power save mode register Program status word Pull-up resistor option register 0 Pull-up resistor option register 1 Pull-up resistor option register 3 Pull-up resistor option register 4 Pull-up resistor option register 5 Pull-up resistor option register 9 Pull-up resistor option register 9H Pull-up resistor option register 9L Pull-up resistor option register CM Pull-up resistor option register CS Pull-up resistor option register CT Pull-up resistor option register DH Pull-up resistor option register DL Pull-up resistor option register DLL Pull-up resistor option register DLH General-purpose registers Real-time output buffer register H0 Real-time output buffer register L0 Real-time output port control register 0 Real-time output port mode register 0 Receive buffer register 0 Receive buffer register 1 Receive buffer register 2 Name Unit Port Port Port Port Port Port Port Port Port Port Port CPU TM0 TM0 TM0 TM0 CG CG Standby Standby CPU Port Port Port Port Port Port Port Port Port Port Port Port Port Port Port CPU RTP RTP RTP RTP UART UART UART Page 122 125 125 125 115 117 119 121 124 124 124 76 297 297 297 297 405 404 698 699 48 91 93 99 102 105 114 114 114 116 118 120 122 125 125 125 44 424 424 426 425 472 472 472
814
Preliminary User's Manual U17703EJ1V0UD
APPENDIX B REGISTER INDEX
(7/9)
Symbol SELCNT1 SIO00 SIO00L SIO01 SIO01L SIOA0 SIOA1 SIRB0 SIRB0L SIRB1 SIRB1L SIRBE0 SIRBE0L SIRBE1 SIRBE1L SOTB0 SOTB0L SOTB1 SOTB1L SOTBF0 SOTBF0L SOTBF1 SOTBF1L SREIC0 SREIC1 SREIC2 SRIC0 SRIC1 SRIC2 STIC0 STIC1 STIC2 SVA0 SYS TCL50 TCL51 TM00 TM01 TM02 TM03 TM0IC00 TM0IC01 TM0IC10 TM0IC11 Selector operation control register 1 Serial I/O shift register 0 Serial I/O shift register 0L Serial I/O shift register 1 Serial I/O shift register 1L Serial I/O shift register A0 Serial I/O shift register A1 Clocked serial interface receive buffer register 0 Clocked serial interface receive buffer register 0L Clocked serial interface receive buffer register 1 Clocked serial interface receive buffer register 1L Clocked serial interface read-only receive buffer register 0 Clocked serial interface read-only receive buffer register 0L Clocked serial interface read-only receive buffer register 1 Clocked serial interface read-only receive buffer register 1L Clocked serial interface transmit buffer register 0 Clocked serial interface transmit buffer register 0L Clocked serial interface transmit buffer register 1 Clocked serial interface transmit buffer register 1L Clocked serial interface initial transmit buffer register 0 Clocked serial interface initial transmit buffer register 0L Clocked serial interface initial transmit buffer register 1 Clocked serial interface initial transmit buffer register 1L Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Interrupt control register Slave address register 0 System status register Timer clock selection register 50 Timer clock selection register 51 16-bit timer counter 00 16-bit timer counter 01 16-bit timer counter 02 16-bit timer counter 03 Interrupt control register Interrupt control register Interrupt control register Interrupt control register Name Unit TM0 CSI0 CSI0 CSI0 CSI0 CSIA CSIA CSI0 CSI0 CSI0 CSI0 CSI0 CSI0 CSI0 CSI0 CSI0 CSI0 CSI0 CSI0 CSI0 CSI0 CSI0 CSI0 INTC INTC INTC INTC INTC INTC INTC INTC INTC IC CPU TM5 TM5 TM0 TM0 TM0 TM0 INTC INTC INTC INTC
2
Page 298 506 506 506 506 525 525 502 502 502 502 503 503 503 503 504 504 504 504 505 505 505 505 670 670 670 670 670 670 670 670 670 572 77 363 363 288 288 288 288 670 670 670 670
Preliminary User's Manual U17703EJ1V0UD
815
APPENDIX B REGISTER INDEX
(8/9)
Symbol TM0IC20 TM0IC21 TM0IC30 TM0IC31 TM5 TM50 TM51 TM5IC0 TM5IC1 TMC00 TMC01 TMC02 TMC03 TMC50 TMC51 TMCYC0 TMCYC1 TMHIC0 TMHIC1 TMHMD0 TMHMD1 TOC00 TOC01 TOC02 TOC03 TP0CCIC0 TP0CCIC1 TP0CCR0 TP0CCR1 TP0CNT TP0CTL0 TP0CTL1 TP0IOC0 TP0IOC1 TP0IOC2 TP0OPT0 TP0OVIC TXB0 TXB1 TXB2 VSWC WDCS WDT1IC WDTE Interrupt control register Interrupt control register Interrupt control register Interrupt control register 16-bit timer counter 5 8-bit timer counter 50 8-bit timer counter 51 Interrupt control register Interrupt control register 16-bit timer mode control register 00 16-bit timer mode control register 01 16-bit timer mode control register 02 16-bit timer mode control register 03 8-bit timer mode control register 50 8-bit timer mode control register 51 8-bit timer H carrier control register 0 8-bit timer H carrier control register 1 Interrupt control register Interrupt control register 8-bit timer H mode register 0 8-bit timer H mode register 1 16-bit timer output control register 00 16-bit timer output control register 01 16-bit timer output control register 02 16-bit timer output control register 03 Interrupt control register Interrupt control register TMP0 capture/compare register 0 TMP0 capture/compare register 1 TMP0 counter read buffer register TMP0 control register 0 TMP0 control register 1 TMP0 I/O control register 0 TMP0 I/O control register 1 TMP0 I/O control register 2 TMP0 option register 0 Interrupt control register Transmit buffer register 0 Transmit buffer register 1 Transmit buffer register 2 System wait control register Watchdog timer clock selection register Interrupt control register Watchdog timer enable register Name Unit INTC INTC INTC INTC TM5 TM5 TM5 INTC INTC TM0 TM0 TM0 TM0 TM5 TM5 TMH TMH INTC INTC TMH TMH TM0 TM0 TM0 TM0 INTC INTC TMP TMP TMP TMP TMP TMP TMP TMP TMP INTC UART UART UART CPU WDT INTC WDT Page 670 670 670 670 361 361 361 670 670 292 292 292 292 364 364 385 385 670 670 382 382 295 295 295 295 670 670 207 209 211 201 202 203 204 205 206 670 473 473 473 78 415 670 421
816
Preliminary User's Manual U17703EJ1V0UD
APPENDIX B REGISTER INDEX
(9/9)
Symbol WDTM1 WDTM2 WTIC WTIIC WTM Watchdog timer mode register 1 Watchdog timer mode register 2 Interrupt control register Interrupt control register Watch timer operation mode register Name Unit WDT WDT INTC INTC WT Page 416, 675 420 670 670 408
Preliminary User's Manual U17703EJ1V0UD
817


▲Up To Search▲   

 
Price & Availability of UPD70F3731

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X